Javascript:FileUri到blob转换

时间:2017-11-13 15:37:45

标签: javascript cordova file-upload blob filereader

我想从本地存储上传文件。但是从本地存储我得到的文件网址是file:///data/user/0/application_package/cache/IMG-199201092.jpg。我想将其转换为blob文件或任何arrayobject file,以便可以通过XMLHttpRequest将其发送到服务器。所以在服务器上我可以保存它们。

我试过这段代码:

var reader = new FileReader();
var blob_image = reader.readAsDataURL(imageUri);

blob_image我无法通过'$ _FILES'将其作为图像或其他内容提取到服务器上。

我从

获取imageUri
$cordovaImagePicker.getPictures(options)
.then(function (results) 
{
   for (var i = 0; i < results.length; i++)
    {
 var image_uri = results[i];
 var fd = new FormData();
 //Take the first selected file                             
 var blobbb = new Blob([new Uint8Array(results[i])], { type: "file" });
 fd.append("file", blobbb  );
 objXhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
        console.log( objXhr.responseText );
        }
    };
 objXhr.open("POST", "http://someapi.com/api.php");
 objXhr.send(fd);
    }
}

1 个答案:

答案 0 :(得分:0)

抱歉回复晚了,但您使用的类型(类型:“文件”)可能是一个原因:这不应该是 MIME 类型,例如。 “图像/png”?