需求:前端需要实现下载文件夹功能,后端返回的是二进制流
前端处理:
1、需要在接口添加:responseType: 'blob'
export function downloadShareFile(params) {
return request({
url: '/api/share/dir-down',
responseType: 'blob',
method: 'get',
params
})
}
2、若后端没有返回状态码,则需要在封装的axios中处理一下响应拦截
service.interceptors.response.use(
response => {
const { config } = response
const _isBlob = config.responseType === 'blob' || config.responseType === 'arraybuffer'
const res = response.data
if (_isBlob) {
return res
}
... ...
},
error => {... ...}
)