前端通过后端返回的数据流下载文件

后端返回文件流,下载的文件无法读取,损坏,原因是因为接口处理没有加 blob类型

downloadFile(row.fileId).then(res => {

// res 即后端返回的数据流

const blob = new Blob(res.data)

if (blob && blob.size === 0) {

this.$notify.error('内容为空,无法下载')

return

}

const link = document.createElement('a')

link.href = window.URL.createObjectURL(blob)

link.download = row.fileName

document.body.appendChild(link)

link.click()

window.setTimeout(() => {

window.URL.revokeObjectURL(blob)

document.body.removeChild(link)

}, 0)

this.$message.success('下载成功')

})

相关推荐
丷丩12 小时前
MapLibre GL JS第31课:添加实时数据
javascript·gis·map·mapbox·maplibre gl js
Hanniel12 小时前
Python 元类(下):进阶与实战建议
开发语言·python
会编程的土豆12 小时前
Go interface 底层的 itab 到底是什么
开发语言·后端·golang
candyTong12 小时前
Claude Code 每次调用 API 时,上下文是怎么"拼"出来的?
javascript·后端·架构
千纸鹤の脉搏12 小时前
多线程的初步了解---进程与线程
java·开发语言·学习·线程
小林ixn12 小时前
别再背“变量提升”了!深入编译执行,彻底搞懂 JavaScript 运行机制
javascript
用户8524950718413 小时前
为什么变量能 未定义先使用?
javascript·程序员
秋田君13 小时前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
故事和你9113 小时前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
Larcher13 小时前
JS 变量提升:代码没动,为什么执行顺序就变了?
前端·javascript·前端框架