全部,

我正在尝试使用PhoneGap/Cordova 2获取照片的文件大小(即不是尺寸,而是磁盘中的实际文件大小)。到目前为止,我唯一能弄清楚的方法是通过base64转换,然后通过basic b64字符串字节的算术运算。但是,我想知道是否有更优雅的方法来获取文件大小。 TIA。

说明:它必须在iOS 5和Android 2.3上运行。

最佳答案

是的,如果您具有Camera.getPicture命令中图像的URL,则将其传递给window.resolveLocalFileSystemURL命令,该用户的成功回调将通过FileEntry对象进行调用。然后,调用FileEntry的“file”方法,该方法使用File对象调用成功回调,然后可以查看File对象的size属性。

就像是....

function takePhoto() {
    navigator.camera.getPicture(gotPhoto, onError, { quality: 50,
        destinationType: navigator.camera.DestinationType.FILE_URI,
        sourceType: navigator.camera.PictureSourceType.CAMERA });
}

function gotPhoto(imageUri) {
    window.resolveLocalFileSystemURI(imageUri, function(fileEntry) {
        fileEntry.file(function(fileObj) {
            console.log("Size = " + fileObj.size);
        });
    });
}

应该可以,但是我只是把代码写在脑海中。

关于Cordova/PhoneGap照片文件大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11993043/

10-12 18:09