正常的是:<a name="file" download="filename" href="文件地址">filename</a>
为了方便设置请求头,我们可以换一种思路,因为原生的请求方式XMLHttpRequest或者ajax是很方便的设置头部信息的
即:通过ajax获取文件数据---->在动态设置a标签下载
代码如下:
updateFile(file) {
var xhr = new XMLHttpRequest();
xhr.open('GET', '文件地址', true);
xhr.setRequestHeader("X-Authorization", localStorage.getItem('token'));
xhr.responseType = 'blob';
xhr.onload = function (e) {
//如果请求执行成功
if (this.status == 200) {
var blob = this.response;
var filename = file.alias;
var a = document.createElement('a');
// blob.type = "application/octet-stream";
//创键临时url对象
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//释放之前创建的URL对象
window.URL.revokeObjectURL(url);
}
};
//发送请求
xhr.send();
}