来自Phonegap文件传输API的原始图像路径

时间:2013-06-27 09:01:26

标签: cordova file-transfer

我正在尝试使用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>

由于

2 个答案:

答案 0 :(得分: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);
    }

答案 1 :(得分:0)

我认为应该可以,只需更改扩展程序。

检查以下链接

  • 要拍摄照片并将其存储在本地数据库中,请尝试Store Photo

  • 要使用网络服务将其上传到服务器,请尝试Upload to Server

希望有所帮助。