【问题标题】:Phone gap File type from DATA_URL来自 DATA_URL 的电话间隙文件类型
【发布时间】:2014-12-16 12:10:37
【问题描述】:

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

有什么办法吗?

【问题讨论】:

    标签: cordova camera base64


    【解决方案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 加载文件。您可能可以通过这种方式获得有关文件本身的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-31
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2013-08-26
      • 1970-01-01
      • 2012-05-12
      相关资源
      最近更新 更多