Cordova/PhoneGap照片文件大小

rdo*_*dev 11 cordova

所有,

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

澄清:它必须适用于iOS 5和Android 2.3.

Sim*_*ald 23

是的,如果您有来自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);
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

应该工作,但我只是编写了我的头顶代码.

  • 但是如果您正在使用PhoneGap/Cordova,那么我们将W3C文件系统规范的补丁支持添加到我们的Web视图中.我应该知道自己编写了Android版本. (2认同)