电话间隙来自DATA_URL的文件类型

时间:2014-12-16 12:10:38

标签: cordova camera base64

如何从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
 }

有没有办法做到这一点?

1 个答案:

答案 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_URINATIVE_URI返回,并使用Cordova的File API加载文件。您可以通过这种方式获得有关文件本身的更多信息。