场景: 后端传过来一个文件流图片,需要前端在页面展示。打印出来的ArrayBuffer对象如下:

一开始借鉴了思否上看到的写法,先把获取的ArrayBuffer转成base-64 编码再显示(Uint8Array数组每一位转码后累加再用btoa函数转成base64编码),实现如下:

function getBase64(img) {const base64Url = `data:image/png;base64,${window.btoa(new Uint8Array(img).reduce((data, byte) => data + String.fromCharCode(byte),""))}`;return base64Url;}// ...axios.get(`/get/pic?url=${url}`, {responseType: "arraybuffer"}).then(({ data }) => { getBase64(data) }).then(() => { ... });

后来经大佬指点,发现原来不用转码,直接把图片src换成请求url就可以了,也不需要加上responseType的请求头

  <img src={`/get/pic?url=${imgId}`} />

【react踩坑】前端显示文件流图片相关推荐

  1. Vue 前端显示文件流图片

    简介 通过前端vue发送用户图片,后端flask进行处理后返回以文件流形式的图片. 前端代码 <template><v-container> // 注意一个vue文件中只能有一 ...

  2. webpack踩坑之路 (2)——图片的路径与打包

    webpack踩坑之路 (2)--图片的路径与打包 刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不能打包进我们的目标文件夹里(bundle).下面我 ...

  3. Java踩坑笔记 —— base64转换为图片后图片显示不全

    Java踩坑笔记 -- base64转换为图片后图片显示不全 前言 解决思路 案例代码 结束语 前言 最近在开发项目中,发现base64转换图片时,出现了图片显示不全,例如如下这样 可以明显看到图片部 ...

  4. 踩坑ImageMagick将ios图片文件HEIC格式转jpg/png等

    近期业务部门要求将heic文件转成jpg文件格式,刚开始使用了各种ImageReader都不可以,后来接触ImageMagick后,发现可以中间也踩了一些坑,现在做一下记录踩过的那些坑. 1.首先需要 ...

  5. 【React踩坑记一】React项目中禁用浏览器双击选中文字的功能

    常规项目,我们只需要给标签加一个onselectstart事件,return false就可以 例: <div onselectstart="return false;" & ...

  6. ac.find_template 踩坑,寻找相似图片,安卓自动化代码

    ***** 找了两天问题,对于我这种小白来说,太难了 查找对于图片两种方法都找不到:最后附上两种查找方法,及自动化实例 失败原因:小图是在大图上面截图的,然而我大图没有显示原比例100% 一定要放大到 ...

  7. react踩坑日记~useRef不会使页面更新

    useRef会实时更新数据,但不会使页面更新!想更新页面,就要结合useEffect(第二个值)和useState使用

  8. html2canvas的踩坑之路

    前言 早有耳闻这个html2canvas比较坑,但无奈于产品需求的压迫,必须实现html转图片的功能,自此走上了填坑之路,好在最后的效果还算令人满意,这才没有误了产品上线周期. html2canvas ...

  9. 前端使用html2canvas生成图片踩坑

    前端使用html2canvas生成图片经验总结 前言 主要是总结一下html2canvas生成图片的基础用法,以及自己在使用html2canvas过程中踩过的坑和相应的解决思路 背景 近段时间接手一个 ...

最新文章

  1. Atcoder Educational DP Contest 题解
  2. 支持向量机python代码实现
  3. JSTL(Java 标准标签库)
  4. OSS网页上传和断点续传(OSS配置篇)
  5. 端口聚合Port-Channel
  6. 比豆二机器人好的机器人_扫地机器人和吸尘器哪个好
  7. api 另一窗体 之上_12 个设计 API 的安全建议,不要等出事儿了“捶胸顿足”
  8. Triumph X与K-Hyundai美术馆将于今年4月推出现代美术NFT
  9. python six库安装_Python 安装matplotlib,six,dateutil,pyparsing 完整过程
  10. MySQL 四种事务隔离级的说明
  11. matlab计算定积分教程,Matlab计算定积分的操作内容讲解
  12. 缓冲器(跟随器)电路
  13. 软件测试工程师在不同阶段需要掌握的技能
  14. 企微群机器人定时提醒
  15. eCos编译Synthethic Target程序时无法解析__sprintf_chk的解决办法
  16. A* 流程+代码详细注释
  17. 【有料】面试必备:什么时候要打破双亲委派机制?什么是双亲委派? (图解+秒懂+史上最全)
  18. 浅谈200M光纤宽带
  19. 男性:曹云金再恋嫩模:男人最重要的是有趣
  20. matlab画一个正弦函数y=sin(x)(全网最简便,没有之一)

热门文章

  1. 【REACT-受控组件和非受控组件】
  2. 【机器学习】完整的机器学习项目演练:第一部分
  3. 【工程师笔记】第六期:一项Xeon E5-2600 v4测试数据的背后
  4. Redis 取消保护模式
  5. Centos如何设置ip黑名单,防止被攻击
  6. 抢红包大战,你准备好了吗?
  7. JAVA实现利用第三方平台发送短信验证码
  8. 〖Python 数据库开发实战 - Python与MySQL交互篇⑰〗- 项目实战 - 实现用户管理 - 修改用户
  9. 八.国民技术MCU开发之 XFMC模块之PSRAM
  10. python键盘控制_python实现键盘控制鼠标移动