实现文件下载的方式
1.a标签
<!-- 最简单的下载方式,浏览器默认打开pdf和txt等文件,其他文件是下载 --> <!-- target决定了下载和打开是在当前页还是新建一个标签页 --> <a href="http://aaa/ceshi.pdf" target="_blank">下载</a>
2.相同域名的情况下(如果遇到跨域的情况,最好还是让后端的人开发下载接口)
function download(url, filename) { function createObjectURL(object) { return window.URL ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object); } var xhr = new XMLHttpRequest(); xhr.open("get", url, true) xhr.onload = function(e){ if(this.status == 200) { var blob = this.response; if(window.navigator.msSaveOrOpenBlob) { navigator.msSaveBlob(blob, filename); } else { const element = document.createElement("a"); element.href = URL.createObjectURL(blob); element.download = filename; document.body.appendChild(element); element.click(); URL.revokeObjectURL(element.href); document.body.removeChild(element); } } } xhr.send(); }
3. 另外的方式及需要注意的地方
URL.createObjectURL和URL.revokeObjectURL:https://www.cnblogs.com/liulangmao/p/4262565.html