Кордоба/Размер файла фотогалереи PhoneGap

Все,

Я пытаюсь получить размер файла (т.е. не размеры, а фактический размер файла на диске) фотографии с помощью PhoneGap/Cordova 2. До сих пор единственный способ понять это - преобразование base64, затем базовую арифметику по байтам строки b64. Тем не менее, мне было интересно, есть ли более элегантный способ получить размер файла. ТИА.

пояснение: он должен работать на iOS 5 и Android 2.3.

Ответ 1

Да, если у вас есть URL-адрес изображения из команды Camera.getPicture, вы передаете его команде window.resolveLocalFileSystemURL, вызывающий обратный вызов с вызовом с объектом FileEntry. Затем вы вызываете метод "file" FileEntry, который вызывает обратный вызов успеха с объектом File, тогда вы можете посмотреть свойство size объекта File.

Что-то вроде....

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);
        });
    });
}

который должен работать, но я просто написал код с головы.