我如何从PhoneGap camera.getPicture获取File对象?

时间:2014-03-03 17:46:00

标签: javascript android ios cordova

这可能很简单,并且由PhoneGap的“相机”插件,“文件”插件或“文件传输”插件中的某些功能组合覆盖。我知道用户可以选择一个文件:

navigator.camera.getPicture(function (fileURI) {

    // *** need help here ***

}, function ()
    // handle errors
}, {
    destinationType: window.Camera.DestinationType.FILE_URI,
    sourceType: window.Camera.PictureSourceType.PHOTOLIBRARY,
    mediaType: window.Camera.MediaType.ALLMEDIA
});

如果这有所不同,我也可以更改为destinationType: window.Camera.DestinationType.DATA_URL

我在成功处理程序中的目标是获取一个File对象(https://developer.mozilla.org/en-US/docs/Web/API/File)。

2 个答案:

答案 0 :(得分:9)

这样的事情应该这样做。

navigator.camera.getPicture(function (fileURI) {

    window.resolveLocalFileSystemURL(fileURI, 
        function(fileEntry){
            alert("got image file entry: " + fileEntry.fullPath);
            // fileEntry.file() should return a raw HTML File Object
        },
        function(){//error}
    );

}, function (){
// handle errors
}, {
    destinationType: window.Camera.DestinationType.FILE_URI,
    sourceType: window.Camera.PictureSourceType.PHOTOLIBRARY,
    mediaType: window.Camera.MediaType.ALLMEDIA
});

答案 1 :(得分:1)

window.resolveLocalFileSystemURI(fileURI, function(fileEntry) { /* your code here */ });