需要强制下载文件,并使其跨浏览器兼容

时间:2016-02-11 15:07:08

标签: html5 internet-explorer download blob

我会尝试尽我所能解释我的问题,我正在开发一个 struts1 项目,应用程序通过后端产生一个“URL”+一个“File.csv”名称我需要下载“.csv”文件,我的第一个方法是使用html5下载属性来解决这个问题

<a href="<%=request.getAttribute("nombreArchivo")%>" download="exported.csv" target="_blank" >Download CSV</a>

var link = document.createElement('a');
   link.setAttribute('href','<%=request.getAttribute("nombreArchivo")%>');
   link.setAttribute('download', 'exported.csv'); 
   document.body.appendChild(link);
   link.click();
   document.body.removeChild(link);
   delete link;

当然,这在Chrome中完美运行,因为它支持html5,但我需要兼容 Firefox IE&gt; 10

然后我用Filesaver.js

尝试了不同的方法

使用此代码:

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "exported.csv");

这段代码工作正常,但正在下载“Hello,world!”硬编码字符串ofc,如果我使用<%=request.getAttribute("nombreArchivo")%>,他将下载文件,其中URL为String,而不是文件的实际内容。

我需要找到一些方法来阅读此网址的内容并将其用作blob数据并使用 Filesaver 或类似内容下载。

提前感谢,对于任何误解或我的乡村英语xP感到抱歉。

0 个答案:

没有答案