有关后端返回文件流或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()

相关内容

热门资讯

专业讨论!德扑之星真破解套路(... 专业讨论!德扑之星真破解套路(辅助挂)软件透明挂(有挂了解)-哔哩哔哩;人气非常高,ai更新快且高清...
每日必看!智星德州菠萝外挂检测... 每日必看!智星德州菠萝外挂检测(辅助挂)软件透明挂(有挂教学)-哔哩哔哩1、玩家可以在智星德州菠萝外...
透视透明挂!轰趴十三水有后台(... 轰趴十三水有后台赢率提升策略‌;透视透明挂!轰趴十三水有后台(辅助挂)软件透明挂(有挂详情)-哔哩哔...
发现玩家!德扑ai助手软件(辅... 发现玩家!德扑ai助手软件(辅助挂)透视辅助(有挂教学)-哔哩哔哩;玩家在德扑ai助手软件中需先进行...
一分钟了解!x-poker辅助... 一分钟了解!x-poker辅助软件(辅助挂)辅助透视(有挂攻略)-哔哩哔哩1、每一步都需要思考,不同...
一分钟揭秘!德州最新辅助器(辅... 一分钟揭秘!德州最新辅助器(辅助挂)透视辅助(有挂攻略)-哔哩哔哩;德州最新辅助器最新版本免费下载安...
玩家攻略推荐!德州辅助(辅助挂... 玩家攻略推荐!德州辅助(辅助挂)辅助透视(有挂了解)-哔哩哔哩是由北京得德州辅助黑科技有限公司精心研...
揭秘真相!pokernow德州... 《揭秘真相!pokernow德州(辅助挂)辅助透视(有挂介绍)-哔哩哔哩》 pokernow德州软件...
五分钟了解!德州之星辅助器(辅... 五分钟了解!德州之星辅助器(辅助挂)辅助透视(有挂透明)-哔哩哔哩1、很好的工具软件,可以解锁游戏的...
推荐一款!pokermaste... 1、推荐一款!pokermaster有外挂(辅助挂)透视辅助(有挂教学)-哔哩哔哩;详细教程。2、p...