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

后端返回文件流,下载的文件无法读取,损坏,原因是因为接口处理没有加 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('下载成功')

})

相关推荐
冰珊孤雪7 分钟前
Android Studio Panda革命性升级:内存诊断、构建标准化与AI调试全解析
android·前端
tryCbest8 分钟前
Python之Flask开发框架(第一篇) — 从安装到第一个应用
开发语言·python·flask
coder_Eight9 分钟前
彻底吃透 Promise:从状态、链式到手写实现,再到 async/await 底层原理
javascript·面试
q54314708710 分钟前
Java进阶总结——集合
java·开发语言
用户8061381665910 分钟前
避免滥用“事件总线”
前端
Xiaoke10 分钟前
我终于搞懂了 Event Loop(宏任务 / 微任务)
前端
@大迁世界12 分钟前
13.在 React 中应怎样正确更新 state?
前端·javascript·react.js·前端框架·ecmascript
啥咕啦呛12 分钟前
java打卡学习5:java基础学习
java·开发语言·学习
zhangzeyuaaa15 分钟前
Python getter/setter 正确用法详解
开发语言·python
南境十里·墨染春水23 分钟前
C++ 笔记 深赋值 浅赋值(面向对象)
开发语言·jvm·c++·笔记