赞
踩
/** * 下载文件函数 模拟<a download></a>属性进行下载 * @param {String} path - 必传 - 下载地址/下载请求地址。 * @param {String} name - 非必传 */ export function downloadFile(path, name) { const xhr = new XMLHttpRequest(); xhr.open("get", path); xhr.responseType = "blob"; xhr.send(); xhr.onload = function($event) { if ($event.target.status === 200) { const url = URL.createObjectURL($event.target.response); const a = document.createElement("a"); a.style.display = "none"; a.href = url; a.download = name; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); } }; } 方式二: export function downloadFile(path, name) { const xhr = new XMLHttpRequest(); xhr.open("get", path); xhr.send(); xhr.onload = function($event) { if($event.target.status === 200) { const blob = new Blob([this.response], {type: xhr.getResponseHeader('Content-Type')}); const url = URL.createObjectURL(blob); // 通过URL.createObjectURL(blob)可以获取当前文件的一个内存URL const a = document.creatElement("a"); a.style.display = "none"; a.href = url; a.download = name; document.body.appendChildren(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); // 下载完成之后需要释放掉url。 } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。