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

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

})

相关推荐
会跑的葫芦怪29 分钟前
若依Vue 项目多子路径配置
前端·javascript·vue.js
兩尛36 分钟前
c++知识点2
开发语言·c++
fengfuyao98541 分钟前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck1 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
xiaoqi9221 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233222 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
Hx_Ma162 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode3 小时前
原子操作类LongAdder
java·开发语言
烬头88213 小时前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1363 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js