我会尝试尽我所能解释我的问题,我正在开发一个 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感到抱歉。