2

私はPhoneGapを使用してiPhoneアプリに取り組んでいます。

このアプリでは、カメラロールの写真を含む画面を表示する必要があり、ユーザーはそこから複数の写真を選択できる必要があります。

I を使用するnavigator.camera.getPictureとすべての画像を表示できますが、ユーザーはその画像から 1 つの画像しか選択できません。

返される imageURI は次のとおりです。 file://localhost/var/mobile/Applications/946FDEC2-E166-4209-94F8-5E2C70EEDA71/tmp/cdv_photo_010.jpg

そして、以下のようにファイルAPIで試しました。

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ 
    // success get file system
    var sdcard = fileSystem.root;
    sdcard.getDirectory("../../../Media/DCIM/100APPLE",
             {create:false, exclusive: false}, 
             function(dcim){
                 var directoryReader = dcim.createReader();
                 directoryReader.readEntries(function(entries){ 
                 // success get files and folders
                 for(var i=0; i<entries.length; ++i){
                     alert(entries[i].name);
                 }
       });
     }, function(error){
       switch(error.code){
          case FileError.NOT_FOUND_ERR : alert('NOT_FOUND_ERR');break;
          case FileError.SECURITY_ERR: alert('SECURITY_ERR');break;
          case FileError.ABORT_ERR: alert('ABORT_ERR');break;
          case FileError.NOT_READABLE_ERR: alert('NOT_READABLE_ERR');break;
          case FileError.ENCODING_ERR: alert('ENCODING_ERR');break;
          case FileError.NO_MODIFICATION_ALLOWED_ERR: alert('NO_MODIFICATION_ALLOWED_ERR');break;
          case FileError.INVALID_STATE_ERR: alert('INVALID_STATE_ERR');break;
          case FileError.SYNTAX_ERR: alert('SYNTAX_ERR');break;
          case FileError.INVALID_MODIFICATION_ERR: alert('INVALID_MODIFICATION_ERR');break;
          case FileError.QUOTA_EXCEEDED_ERR: alert('QUOTA_EXCEEDED_ERR');break;
          case FileError.TYPE_MISMATCH_ERR: alert('TYPE_MISMATCH_ERR');break;
          case FileError.PATH_EXISTS_ERR: alert('NOT_FOUND_ERR');break;
      }

});

これはシミュレーターで動作します。

しかし、iPhone で試してみると、エラーが表示され、iPhoneDCIM内にフォルダがありません../../../Media

私のiPhoneのモデルはiPhone 4S 16Gb with iOS 6.0

私が知りたいのですが

  1. このアプローチに問題はありますか?
  2. ../../../Media/DCIM/100APPLEカメラロールの写真が保存されている場所ではなく、正しいパスはどれですか?
  3. 上記のパスが格納されているメタファイルはありますか?
  4. これを達成する他の方法はありますか (カメラロールから複数のファイルを選択するオプション)?
4

1 に答える 1

0

このために、いくつかのカスタム ライブラリ ELCImagePickerController および AGImagePickerController があります。

https://github.com/elc/ELCImagePickerController

https://github.com/arturgrigor/AGImagePickerController

これらのいずれかを使用できます。それがあなたを助けることを願っています。

于 2012-11-16T07:08:23.103 に答える