【发布时间】:2020-07-13 10:31:21
【问题描述】:
我的问题类似于没有答案的this。我试图搜索许多其他地方,但仍然没有答案。
我正在尝试在 VueJs 中使用 Axios 作为 blob 下载文件:
return new Promise((resolve, reject) => {
Axios.get(`${fileDownloadUrl}`,
{ responseType: 'blob' } // Blob doesn't handle errors
).then(response => {
let byteData = response.data
var blob = new Blob([byteData], {type: response.headers['content-type']})
let fileName = _.split(response.headers['content-disposition'], '=')
FileSaver.saveAs(blob, fileName[1])
resolve(fileName[1])
},
error => {
console.log(error.response.data) // returns Blob - error message from service is not handled
reject(error.response.data)
}
)
我从上面的代码中删除了{ responseType: 'blob' } 并再次尝试,我现在收到错误消息但下载的文件没有任何内容,它是一个空白数据。
如何下载文件并处理服务返回的错误响应?
【问题讨论】: