前端 js 如何判断图片是否损坏呢?

2017-03-07 10:14:48 +08:00
 cfan365

项目使用 react 向借口提交数据, 上传图片传递的是图片的 base64 转码,但是发现上传的有损坏了的图片,js 如何识别出来图片损坏呢~

3993 次点击
所在节点    问与答
6 条回复
lwbjing
2017-03-07 10:20:40 +08:00
onerror ?
qiaobeier
2017-03-07 10:28:51 +08:00
1. 创建一个 img 对象
2. 把你的 base64 代码塞到对象体内
3. 瞧瞧高度啥的属性拿到了没
qiaobeier
2017-03-07 10:30:01 +08:00
更高效的方法是直接验证 base64 字符串。这个应该需要看看文档。
imn1
2017-03-07 10:31:58 +08:00
这个为何是前端做的?
后端判断啊,还要做安全判断呢
jpg 的结尾字节是 FF D9
jimliang
2017-03-07 10:43:09 +08:00
1 , img.onerror
2 , img.onload 然后获取 height 或者 width (有些有问题的图片也会触发 onload ,但是 heigth 为 0 )
IamJ
2017-03-07 13:27:53 +08:00
判断宽或高为 0 的方法根本没用,一些上传损坏的 jpg 加载出来一半是原图,一半是损坏的灰色

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/345493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX