标签:header iframe 资源文件 create replace 大文件 status port class
前端通过url下载文件方法
产生背景
// 保存到本地并自动点击 function saveAs(data, name) { const urlObject = window.URL || window.webkitURL || window; const export_blob = new Blob([data]); const save_link = document.createElementNS(‘http://www.w3.org/1999/xhtml‘, ‘a‘); save_link.href = urlObject.createObjectURL(export_blob); save_link.download = name; save_link.click(); } // 下载含有url的文件 function downloadUrlFile(url, fileName) { const url2 = url.replace(/\\/g, ‘/‘); const xhr = new XMLHttpRequest(); xhr.open(‘GET‘, url2, true); xhr.responseType = ‘blob‘; //xhr.setRequestHeader(‘Authorization‘, ‘Basic a2VybWl0Omtlcm1pdA==‘); // 为了避免大文件影响用户体验,建议加loading xhr.onload = () => { if (xhr.status === 200) { // 获取文件blob数据并保存 saveAs(xhr.response, fileName); } }; xhr.send(); } downloadUrlFile(url, fileName);
标签:header iframe 资源文件 create replace 大文件 status port class
原文地址:https://www.cnblogs.com/huchong-bk/p/11846927.html