1. ホーム
  2. ios

[解決済み] Cordova Camera iOSの問題。NOT_FOUND_ERR

2022-02-03 22:52:43

質問

を使用しています。 cordova-plugin-camera cordova プラグイン (バージョン 4.0.3) を、Ionic 4 用の Ionic Native ラッパーでラップしています。 @ionic-native/camera@4 . 私は、写真(通常またはライブラリから)をキャプチャし、保存/送信のために私のアプリのストレージ領域に移動するためにそれを使用しています。 Androidでは問題なく動作しています。 iOSでは NOT_FOUND_ERR キャプチャから戻ってきたFILE_URIを取得しようとすると、戻ってきます。

以下は、私が画像をキャプチャする方法ですが、これはうまく動作します。 カメラが起動し、写真をスナップ(または選択)すると、ファイル URI が返されます(file:///var/mobile/Containers/Data/Application/{guid}/tmp/XYZ.jpg)。 そして resolveLocalFilesystemUrl この結果のファイル URI に対して 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_URINATIVE_URI

カメラ.DestinationType.FILE_URI

'file://' ios
'content://' android

カメラ.DestinationType.NATIVE_URI

'assets-library://' ios
'content://' android

出力ですが、これは内部的にはあなたの sourceType . これはどういうことかというと、もしあなたの sourceType がカメラであれば FILE_URI を使用すると、出力は一時記憶装置から取得されます。一方、フォトギャラリーを使用する場合、出力はライブラリから取得する必要があります。 NATIVE_URI