this.$axios({
url: `/md2api/attachment/c/${val.code}`,
method: "GET",
responseType: 'blob', //设置响应格式
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
})
.then(function (response) {
let b = new Blob([response.data]); //拿到文件流下载对象
let url = window.URL.createObjectURL(b); //生成文件流下载链接
let a = document.createElement('a'); //创建一个a标签用来跳转
a.href = url; // a标签 href 赋值 链接
a.download = 'ing.jpeg'; //设置下载文件的文件名和文件格式
document.body.appendChild(a); //将标签DOM,放置页面
a.click();
window.URL.revokeObjectURL(url); //释放 url 对象内存
document.body.removeChild(a); //移除标签节点
})
.catch(function (error) {
console.log(error);
});
this.$axios({
url: `/md2api/attachment/c/${val.code}`,
method: "GET",
responseType: 'blob', //设置响应格式
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
})
.then(function (response) {
const reader = new FileReader(); // 实例化 FileReader
reader.readAsDataURL(response.data); //将读取到的文件编码成DataURL
reader.onload = (e) => { //调用API onload 文件读取成功时触发
//模拟a标签点击
let a = document.createElement('a'); //创建a标签,
a.download = Date.parse(new Date()) + '.jpeg'; //设置格式
a.href = e.target.result; //下载文件流链接
document.body.appendChild(a); //将标签DOM,放置页面
a.click();
document.body.removeChild(a); //移除标签节点
};
reader.onerror = (e) => {
this.$message({
message: '解析文件发生错误',
type: 'warning'
});
};
reader.onabort= (e) => {
this.$message({
message: '解析文件发生意外终止',
type: 'warning'
});
}
})
.catch(function (error) {
console.log(error);
});
FileReader 对象 常用 API 回调函数
API 描述
onload 文件读取成功时触发
onerror 解析文件发生错误时触发
onabort 解析文件发生意外终止时触发
onloadend 文件读取完毕之后,成功或者失败都会触发
onloadstart 开始读取时触发
onprogress 读取时触发
API 描述
readAsText() 读取文本文件
readAsBinaryString() 读取任意类型的文件,返回二进制字符串
readAsDataURL() 将读取到的文件编码成 DataURL
abort() 终止读取