一、a 标签 download 属性(同源写法)
<a :href="xxxx.xls" download="模板文件"> 模板下载 </a>
这样的写法只存在 同源 状况下,非同源跨域状况下图片与 pdf 文件(只有浏览器反对)都会间接关上。
试过跨域申请写法,参考链接:https://www.cnblogs.com/makal…
//onclick 事件
<a @click="downloadFile(fileUrl,fileName)"> 下载文件 </a>
downloadFile(url, fileName) {var x = new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = 'blob';
x.onload=function(e) {
// 会创立一个 DOMString,其中蕴含一个示意参数中给出的对象的 URL。这个 URL 的生命周期和创立它的窗口中的 document 绑定。这个新的 URL 对象示意指定的 File 对象或 Blob 对象。var url = window.URL.createObjectURL(x.response)
var a = document.createElement('a');
a.href = url
a.download = fileName;
a.click()}
x.send();},
这样写法控制台还是会报跨域问题。
二、解决办法(间接删除 a 标签里的 download 属性)
// 间接删除 a 标签里的 download 属性(非图片文件实用)。//tempUrl 为传过来的 url, 依据需要自行配置。<a :href="tempUrl" target="_blank"> 模板下载 </a>