全部,
我正在尝试使用PhoneGap/Cordova 2获取照片的文件大小(即不是尺寸,而是磁盘中的实际文件大小)。到目前为止,我能弄清楚的唯一方法是通过base64转换,然后是基本的b64 字符串字节的算术运算。但是,我想知道是否有更优雅的方法来获取文件大小。TIA。
澄清:它必须在 iOS 5 和 Android 2.3 上运行。
全部,
我正在尝试使用PhoneGap/Cordova 2获取照片的文件大小(即不是尺寸,而是磁盘中的实际文件大小)。到目前为止,我能弄清楚的唯一方法是通过base64转换,然后是基本的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);
});
});
}
这应该可以,但我只是在脑海中写下了代码。