从Javascript中的BLOB URL读取数据

从Javascript中的BLOB URL读取数据,javascript,url,download,blob,Javascript,Url,Download,Blob,我有一个blobURL,我想将其重新创建为第二个blobURL,以便在默认情况下下载它 var blob1=newblob([“Hello world!”],{type:“text/plain”}); url1=window.URL.createObjectURL(blob1); blob2=新的Blob([url1],{type:'application/octet stream'}); url2=window.URL.createObjectURL(blob2); var a=docume

我有一个blobURL,我想将其重新创建为第二个blobURL,以便在默认情况下下载它

var blob1=newblob([“Hello world!”],{type:“text/plain”});
url1=window.URL.createObjectURL(blob1);
blob2=新的Blob([url1],{type:'application/octet stream'});
url2=window.URL.createObjectURL(blob2);
var a=document.createElement(“a”);
文件.正文.附件(a);
a、 style=“显示:无”;
a、 href=url2;
a、 单击();

window.URL.revokeObjectURL(URL)
您可以使用
锚定
元素中的
下载
属性,强制下载,而无需创建另一个blob

但是您需要注意有关浏览器支持的问题,请参见此处所有接受
下载的浏览器
attr:

var blob1=newblob([“Hello world!”],{type:“text/plain”});
url=window.url.createObjectURL(blob1);
var a=document.createElement(“a”);
文件.正文.附件(a);
a、 style=“显示:无”;
a、 href=url;
a、 setAttribute(“下载”、“任何名称”);
a、 单击();

window.URL.revokeObjectURL(URL)为什么要创建第二个blob?@JoelRamosMichaliszen第一个blob不强制下载。所以我必须创建第二个这样的功能。谢谢。在谷歌Chrome上工作过,但在Firefox上没有。我不知道为什么。顺便说一句,我这样做是为了下载几个BLOBURL。有没有更好的方法来完成这项工作?我不知道为什么html5下载在Firefox中对我不起作用。但是,谢谢。不管怎样,你的解决方案救了我一天!