async handleDownload(row) { try { const res = await this.$api.downloadFileById(row.id); if (res.status === 200) { const fileUrl = window.URL.createObjectURL(new Blob([res.data])); const link = document.createElement('a');//创建a标签 link.style.display = 'none'; //将a标签隐藏 link.href = fileUrl; link.setAttribute('download','' ); link.target = '_blank'; link.click(); } else { console.log('Something went wrong'); } } catch (error) { console.error('Error occurred while downloading file:', error); } },这段代码中,responseType:'blob这行代码写哪
时间: 2024-01-09 15:05:44 浏览: 148
在你调用`this.$api.downloadFileById(row.id)`时,应该把`responseType: 'blob'`作为配置项传入。例如:
```
const res = await this.$api.downloadFileById(row.id, { responseType: 'blob' });
```
这样可以确保返回的响应数据是一个 Blob 对象。
相关问题
getsampledata() { this.$http.get("/sample/count").then(res=>{ //console.log(res); if(res.data.status == 200){ this.sampledatalist = res.data.data; }else{ this.$message.error(res.data.message); } }) },将上述请求换成异步请求
可以使用 async/await 来实现异步请求,具体的代码实现如下:
async getsampledata() {
try {
const res = await this.$http.get("/sample/count");
if(res.data.status == 200){
this.sampledatalist = res.data.data;
} else {
this.$message.error(res.data.message);
}
} catch (error) {
console.log(error);
}
}
使用 async/await 可以让代码更加简洁易读,同时也方便进行错误处理。需要注意的是,async/await 是 ES2017 的语法,使用前需要确保该语法在目标浏览器中被支持。
阅读全文