Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:FileUri到blob的转换_Javascript_Cordova_File Upload_Blob_Filereader - Fatal编程技术网

Javascript:FileUri到blob的转换

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

我想从本地存储上传文件。但从本地存储中,我得到的文件url类似于
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可以帮助您完成此操作。但是通读此问题,有些人显示了他们的上载代码是的,它只返回文件路径。我想读取该文件:'(来自评论:您好,这篇文章似乎没有为问题提供答案。请编辑您的答案并加以改进,或者将其作为对问题/其他答案的评论发布。)。