图片上传的问题-偶现base64图片 小黑块问题
最近在做有图片上传的功能,出现了一些问题 记录一下
1.上传 的时候是正常的,上传到服务端在读取的时候,会变成小黑块(偶尔一些图片出现)
原因:现在是将图片的base64的源码进行上传 ,利用ajax上传的过程中,+ 会被解析为 “”,导致图片受损无法解析
解决:1.imageData.replace(/\+/g,'%2B') 全部替换
2.直接用 encodeURIComponent(imageData) 加密(encodeURI() 不可以,它仅仅是对中文字进行加密,对符号没用 链接)
(与后台协商好,还有头部data:image/jpeg;base64, 也要协商好)
2.上传的图片是 IOS最新的图片格式 HEIC 格式,服务端对这个格式的图片并没有做解析,导致回显失败
原因:格式比较新,还无法正常解析存储
解决:1.在前端设置 可以解析的格式类型 ,不合符规定的 不通过校验
2.在服务端增加对改格式的解析功能