0

ファイルをリモートサーバーにアップロードするためにphonegapファイル転送APIを試していましたが、正常に動作しています。しかし、元のファイルパスを取得する際に問題があります。「imageURI」は一時的なパスを返すので、「window.resolveLocalFileSystemURI」で元のパスを取得しようとしました。ただし、次のコードはパスを返しません。どこが間違っているのか教えてください。

<script>

  function getphoto() {

     navigator.camera.getPicture(uploadPhoto, function(message) {alert('get picture failed');
}, { quality:10, destinationType:navigator.camera.DestinationType.FILE_URI, sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY }); 

}


    function uploadPhoto(imageURI)
            {

                   window.resolveLocalFileSystemURI(imageURI, gotFileEntry, function(error){onfail(console.log("Error get fullPath"))});
            }

function gotFileEntry(imageURI) { 
             alert("imageURI: "+imageURI);
 //not getting imageURI
} 

</script>

ありがとう

4

2 に答える 2

1

次のスニペットが役立ちます.. :-)元のファイル パスにimageData.nativeURLを使用します。

            navigator.camera.getPicture(onSuccess, onFail, {
        quality : 75, 
        destinationType : Camera.DestinationType.FILE_URI, 
        sourceType : navigator.camera.PictureSourceType.SAVEDPHOTOALBUM , 
        mediaType : navigator.camera.MediaType.ALLMEDIA //all mediaFiles
    });

    function onSuccess(imageData) {
        window.resolveLocalFileSystemURI(imageData, gotFileEntry, 
            function(error){
                alert("Error get fullPath");
            }
        );
        function gotFileEntry(imageURI) { 
         // alert("imageURI: "+JSON.stringify(imageURI));
         alert("imageURI: "+imageURI.nativeURL);
        }
    }

    function onFail(message) {
        alert('Failed because: ' + message);
    }
于 2014-05-08T09:44:18.943 に答える
0

拡張子を変えるだけで可能だと思います。

以下のリンクをチェック

それが役立つことを願っています。

于 2013-07-02T13:49:48.147 に答える