Cordova/PhoneGap照片文件大小

Cordova/PhoneGap照片文件大小,cordova,Cordova,全部, 我正在尝试使用PhoneGap/Cordova 2获取照片的文件大小(即不是尺寸,而是磁盘中的实际文件大小)。到目前为止,我能找到它的唯一方法是通过base64转换,然后对b64字符串的字节进行基本运算。然而,我想知道是否有一种更优雅的方法来获得文件大小。蒂亚 澄清:它必须在iOS 5和Android 2.3上工作。是的,如果您有来自Camera.getPicture命令的图像URL,则将其传递到窗口。resolveLocalFileSystemURL命令使用FileEntry对象调用成

全部,

我正在尝试使用PhoneGap/Cordova 2获取照片的文件大小(即不是尺寸,而是磁盘中的实际文件大小)。到目前为止,我能找到它的唯一方法是通过base64转换,然后对b64字符串的字节进行基本运算。然而,我想知道是否有一种更优雅的方法来获得文件大小。蒂亚


澄清:它必须在iOS 5和Android 2.3上工作。

是的,如果您有来自Camera.getPicture命令的图像URL,则将其传递到窗口。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);
        });
    });
}

这应该行得通,但我只是把代码写下来。

看起来合法。很不幸,这在iOS 5或5.1或安卓2.3(或更早版本)上不起作用。尽管如此,Thx。嘿,再看看我的答案。我修正了一个语法错误。另外,我今天早上自己运行了它,它正确地报告了图像的文件大小。西蒙,我再试试。但我认为问题在于iOS 5.x和Android 2.3.x WebView都没有实现W3C文件API。但是如果您使用PhoneGap/Cordova,那么我们会在web视图中添加对W3C文件系统规范的补丁支持。我应该知道我自己写了Android版本。