前端处理java后端使用流文件传输方式显示图片
业务场景
摈弃第三方图片存储,后端使用java语言开发,图片相关操作使用ftp的流文件传输方式,前端无法使用传统显示图片的方式来显示,需要对返回数据流进行编码处理;
整体思路
定义请求返回的数据流为二进制类型——对返回数据进行Uint8Array编码——使用String.fromCharCode()方法将Uint8编码的数组元素进行字符转化——使用数组的reduce方法累加数组元素拼凑成字符长串——转化为base64编码输出
处理方式
1. 设置正确的XMLhttp、ajax、axios等配置
对于http请求需要配置其responseType为arraybuffer,对于后端接口的返回数据定义为arraybuffer类型,这样请求返回的数据就会成为二进制数据流。在返回数据中进行编码处理,以base64编码输出即可。