通过javascript控制下载为什么要选择js方式下载文件?因为下载地址需要根据你的点击,及选择来动态计算的。
如果直接 ajax 请求下载地址,总会出现些问题...具体表现为文件直接以字符串形式返回。
方案一:使用window.open(url)。
这样会有一个问题,因为会打开一个窗口!虽然这个窗口会在点击下载时关闭,但看起来确实不美观! 而且碰到比较大的文件时候,浏览器会出现“假死” 状态!
方案二:使用Iframe ,具体见代码:
Javascript代码
function downloadFile(url) {
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}
生活的如此优美,不是诗化的结果,而是梦想的味道!
如果直接 ajax 请求下载地址,总会出现些问题...具体表现为文件直接以字符串形式返回。
方案一:使用window.open(url)。
这样会有一个问题,因为会打开一个窗口!虽然这个窗口会在点击下载时关闭,但看起来确实不美观! 而且碰到比较大的文件时候,浏览器会出现“假死” 状态!
方案二:使用Iframe ,具体见代码:
Javascript代码
function downloadFile(url) {
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}
生活的如此优美,不是诗化的结果,而是梦想的味道!