Cordova 相机 iOS 问题:NOT_FOUND_ERR
Cordova Camera iOS Issue: NOT_FOUND_ERR
我正在使用 cordova-plugin-camera
cordova 插件(版本 4.0.3),由 Ionic 4 @ionic-native/camera@4
的 Ionic Native 包装器包装。我正在使用它来拍摄照片(常规照片或来自图书馆的照片),并将其移至我的应用程序存储区域 saving/sending。在 Android 上运行良好。在 iOS 上,当我试图获取从捕获返回的 FILE_URI 时,我继续得到 NOT_FOUND_ERR
返回。
以下是我拍摄图像的方式,效果很好。相机启动,我拍摄(或选择)一张照片,然后我得到一个文件 URI (file:///var/mobile/Containers/Data/Application/{guid}/tmp/XYZ.jpg)。然后像在这个生成的文件 URI 上执行 resolveLocalFilesystemUrl
这样简单的事情将用 NOT_FOUND_ERR
轰炸。有什么建议吗?
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
sourceType: (isFromLibrary) ? this.camera.PictureSourceType.PHOTOLIBRARY : this.camera.PictureSourceType.CAMERA,
saveToPhotoAlbum: false,
targetWidth: (isForDocScan) ? desiredWidth + 500 : desiredWidth,
targetHeight: (isForDocScan) ? desiredHeight + 500 : desiredHeight
}
let result = null;
try {
result = await this.camera.getPicture(options);
}
catch (err) {
this.loggingService.error('Error getting photo', err);
}
您在使用 Camera.DestinationType
配置时似乎遇到了一些问题。以下是使用 FILE_URI
和 NATIVE_URI
时的输出
Camera.DestinationType.FILE_URI
'file://' ios
'content://' android
Camera.DestinationType.NATIVE_URI
'assets-library://' ios
'content://' android
虽然这是输出,但这与您的 sourceType
内部相关。这意味着,如果你的 sourceType
是相机,你应该使用 FILE_URI
因为输出是从临时存储中获得的,而如果你使用的是照片库,你的输出需要从图书馆,这就是为什么它建议您使用 NATIVE_URI
我正在使用 cordova-plugin-camera
cordova 插件(版本 4.0.3),由 Ionic 4 @ionic-native/camera@4
的 Ionic Native 包装器包装。我正在使用它来拍摄照片(常规照片或来自图书馆的照片),并将其移至我的应用程序存储区域 saving/sending。在 Android 上运行良好。在 iOS 上,当我试图获取从捕获返回的 FILE_URI 时,我继续得到 NOT_FOUND_ERR
返回。
以下是我拍摄图像的方式,效果很好。相机启动,我拍摄(或选择)一张照片,然后我得到一个文件 URI (file:///var/mobile/Containers/Data/Application/{guid}/tmp/XYZ.jpg)。然后像在这个生成的文件 URI 上执行 resolveLocalFilesystemUrl
这样简单的事情将用 NOT_FOUND_ERR
轰炸。有什么建议吗?
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
sourceType: (isFromLibrary) ? this.camera.PictureSourceType.PHOTOLIBRARY : this.camera.PictureSourceType.CAMERA,
saveToPhotoAlbum: false,
targetWidth: (isForDocScan) ? desiredWidth + 500 : desiredWidth,
targetHeight: (isForDocScan) ? desiredHeight + 500 : desiredHeight
}
let result = null;
try {
result = await this.camera.getPicture(options);
}
catch (err) {
this.loggingService.error('Error getting photo', err);
}
您在使用 Camera.DestinationType
配置时似乎遇到了一些问题。以下是使用 FILE_URI
和 NATIVE_URI
Camera.DestinationType.FILE_URI
'file://' ios
'content://' android
Camera.DestinationType.NATIVE_URI
'assets-library://' ios
'content://' android
虽然这是输出,但这与您的 sourceType
内部相关。这意味着,如果你的 sourceType
是相机,你应该使用 FILE_URI
因为输出是从临时存储中获得的,而如果你使用的是照片库,你的输出需要从图书馆,这就是为什么它建议您使用 NATIVE_URI