Javascript:FileUri到blob的转换
我想从本地存储上传文件。但从本地存储中,我得到的文件url类似于Javascript:FileUri到blob的转换,javascript,cordova,file-upload,blob,filereader,Javascript,Cordova,File Upload,Blob,Filereader,我想从本地存储上传文件。但从本地存储中,我得到的文件url类似于file:///data/user/0/application_package/cache/IMG-199201092.jpg。我想将其转换为blob文件或文件的任何数组或对象,以便可以通过XMLHttpRequest将其发送到服务器。这样我就可以在服务器上保存它们了 我试过这个代码: var reader = new FileReader(); var blob_image = reader.readAsDataURL(image
file:///data/user/0/application_package/cache/IMG-199201092.jpg
。我想将其转换为blob
文件或文件的任何数组
或对象
,以便可以通过XMLHttpRequest
将其发送到服务器。这样我就可以在服务器上保存它们了
我试过这个代码:
var reader = new FileReader();
var blob_image = reader.readAsDataURL(imageUri);
但blob_image
我无法通过“$_文件”作为图像或其他方式在服务器上获取它
我正在从中获取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);
}
}
$cordovaImagePicker.getPictures(选项)
.然后(函数(结果)
{
对于(var i=0;i
很抱歉回复太晚,但您使用的类型(类型:“file”)可能是一个原因:这不应该是MIME类型吗,例如“image/png”?请给我们看一下代码……您没有显示足够的信息。如果您没有显示ajax部分,我们如何排除它的故障?另外,您拥有的不是数据URL而是文件路径。另外,我真的很想知道您如何获得完整的URL,因为通常您只能从上传表单接收上下文信息。@Salketer,当然,先生,我是have added code.im现在正在尝试var blobbb=new Blob([new Uint8Array(results[i]),{type:“file”};
这段代码也是..但没有成功:(问题是cordovaImagePicker只返回一个文件路径,而不是实际的图像数据…您需要使用其他东西来读取文件并上载。我不知道有多少cordova可以帮助您完成此操作。但是通读此问题,有些人显示了他们的上载代码是的,它只返回文件路径。我想读取该文件:'(来自评论:您好,这篇文章似乎没有为问题提供答案。请编辑您的答案并加以改进,或者将其作为对问题/其他答案的评论发布。)。