vue在项目中下载文件
场景:当文件下载过多时,接口无法正常响应, 后端提供的解决方案是从另一个文件服务器下载文件,因此提供跨域访问api接口需要跨域调用后端接口下载文件
// 下载 async downLoad(row) {
const res = await getDownUrl({
先调整普通接口,后端返回跨域url packId: row.id }) if (!res.isSuccess) {
return this.$message.error(res.msg) } this.downloadFile(res.data, row.version) //跨域调接口 }, downloadFile(url, fileName) {
const _this = this var x = new XMLHttpRequest() x.open('GET', url, true) x.responseType = 'blob' x.onload = function(e) {
if (e.target.readyState != 4 || e.target.status != 200) {
_this.$message.warning(下载失败) return } var url= window.URL.createObjectURL(x.response)
var a = document.createElement('a')
a.href = url
a.download = fileName
a.click()
}
x.send()
},
// 批量删除
