有关后端返回文件流或base64文件,前端如何实现图片展示和下载
创始人
2025-01-16 12:35:01
0
后端返回的文件流,前端怎么把图片显示出来

 1.多年前端开发经验的我目前用的最多的是:直接将请求地址写在src里面,如:

 2.由于后台加上鉴权后,需要每个接口在header里面加上token,上面的做法就行不通了,需要发送请求获得文件流

const file_data = res.data // 后端返回的文件流   const blob = new Blob([file_data]) const url = window.URL.createObjectURL(blob) // image中src的链接

3.后台返回base64文件

srcurl= 'data:application/octet-stream;base64,' + res
js下载后端返回的文件

1.后端返回文件流形式,前端下载

// res 为后端返回的响应对象   const file_data = res.data // 后端返回的文件流   const blob = new Blob([file_data]) const url = window.URL.createObjectURL(blob) // 创建下载的链接 const file_name = decodeURI(res.headers['content-disposition'].replace('attachment;filename=', '')) // 需要后端暴露请求头'Content-Disposition' console.log(file_name) // 从请求头获取文件名 const downloadElement = document.createElement('a') downloadElement.style.display = 'none' downloadElement.href = url downloadElement.download = file_name // 下载后文件名 document.body.appendChild(downloadElement) downloadElement.click() document.body.removeChild(downloadElement) // 下载完成移除元素 window.URL.revokeObjectURL(url) // 释放掉blob对象   注:如果下载文件变大打不开,可以设置 responseType: 'arraybuffer'  async reqestApi(param) {     const res = await axios.get('exportExeclData', { params: param, responseType: 'arraybuffer' })     }

2.后端返回base64格式,前端下载

// res 后端返回的文件base64   const link = document.createElement('a') link.href = 'data:application/octet-stream;base64,' + res link.download = '下载的文件名' link.click()

相关内容

热门资讯

三分钟了解!闲逸app透视版,... 三分钟了解!闲逸app透视版,雀神广东麻将推倒胡辅助器下载,演示教程(有挂秘笈)-哔哩哔哩1)雀神广...
第3分钟了解!jj斗地主辅助,... 第3分钟了解!jj斗地主辅助,新蜜瓜大厅破解,大纲教程(新版有挂)-哔哩哔哩1、操作简单,无需新蜜瓜...
一分钟了解!友玩广西辅助联系方... 一分钟了解!友玩广西辅助联系方式,天酷辅助巡查系统,举措教程(真是有挂)-哔哩哔哩一、友玩广西辅助联...
第四分钟了解!逗娱碰胡俱乐部插... 第四分钟了解!逗娱碰胡俱乐部插件,奇迹陕西靖边打锅子辅助,机巧教程(有挂方式)-哔哩哔哩1、很好的工...
7分钟了解!小程序多乐跑得辅助... 7分钟了解!小程序多乐跑得辅助,新海贝之城app破解,技法教程(有挂存在)-哔哩哔哩1、小程序多乐跑...
第7分钟了解!新悠悠拼十辅助,... 第7分钟了解!新悠悠拼十辅助,潮友会鱼虾蟹怎么发现软件控制,手册教程(有挂规律)-哔哩哔哩潮友会鱼虾...
第十分钟了解!友乐广西app辅... 第十分钟了解!友乐广西app辅助,开心十三张有没有挂,绝活教程(今日头条)-哔哩哔哩1、开心十三张有...
7分钟了解!决战geo辅助,微... 7分钟了解!决战geo辅助,微乐家乡自建房辅助app,操作教程(真是有挂)-哔哩哔哩1、微乐家乡自建...
两分钟了解!赣牌圈挂安装图解,... 两分钟了解!赣牌圈挂安装图解,小程序66徐州辅助,要领教程(有挂秘籍)-哔哩哔哩1、赣牌圈挂安装图解...
第五分钟了解!传送屋辅助脚本,... 第五分钟了解!传送屋辅助脚本,微信微乐小程序辅助器免费安装,方式教程(有挂规律)-哔哩哔哩1、游戏颠...