通过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);
        }


 
生活的如此优美,不是诗化的结果,而是梦想的味道!