如何从DATA_URL获取大小,类型等文件属性。我使用以下代码。
function getImage() {
// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto, null, {
quality: 50,
destinationType: navigator.camera.DestinationType.DATA_URL,
saveToPhotoAlbum: true,
sourceType: 2
});
}
function uploadPhoto(data) {
// Here i want to get file type/ size
}
有没有办法做到这一点?
答案 0 :(得分:1)
我担心你不能直接这样做,因为图片是以Base64字符串形式返回的。但是,可以获得类型和大小。
类型:您可以在设置使用cordova插件制作图片的选项时自行定义类型。此选项使用encodingType
设置。这可以设置为:
Camera.EncodingType = {
JPEG : 0, // Return JPEG encoded image
PNG : 1 // Return PNG encoded image };
尺寸:可以使用以下简单方法计算:
var imageByteCount = function (imageString) {
return encodeURI(imageString)
.split(/%(?:u[0-9A-F]{2})?[0-9A-F]{2}|./).length -1;
}
但是,无法获得图像的其他信息。您可以将图像作为FILE_URI
或NATIVE_URI
返回,并使用Cordova的File API加载文件。您可以通过这种方式获得有关文件本身的更多信息。