项目使用 react 向借口提交数据, 上传图片传递的是图片的 base64 转码,但是发现上传的有损坏了的图片,js 如何识别出来图片损坏呢~
项目使用 react 向借口提交数据, 上传图片传递的是图片的 base64 转码,但是发现上传的有损坏了的图片,js 如何识别出来图片损坏呢~
1
lwbjing Mar 7, 2017
onerror ?
|
2
qiaobeier Mar 7, 2017
1. 创建一个 img 对象
2. 把你的 base64 代码塞到对象体内 3. 瞧瞧高度啥的属性拿到了没 |
3
qiaobeier Mar 7, 2017
更高效的方法是直接验证 base64 字符串。这个应该需要看看文档。
|
4
imn1 Mar 7, 2017
这个为何是前端做的?
后端判断啊,还要做安全判断呢 jpg 的结尾字节是 FF D9 |
5
jimliang Mar 7, 2017
1 , img.onerror
2 , img.onload 然后获取 height 或者 width (有些有问题的图片也会触发 onload ,但是 heigth 为 0 ) |
6
IamJ Mar 7, 2017
判断宽或高为 0 的方法根本没用,一些上传损坏的 jpg 加载出来一半是原图,一半是损坏的灰色
|