cfan365
V2EX  ›  问与答

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

  •  
  •   cfan365 · Mar 7, 2017 · 5152 views
    This topic created in 3534 days ago, the information mentioned may be changed or developed.

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

    6 replies  •  2017-03-07 13:27:53 +08:00
    lwbjing
    lwbjing
    Mar 7, 2017
    1
    onerror ?
    qiaobeier
    qiaobeier
    Mar 7, 2017
    2
    1. 创建一个 img 对象
    2. 把你的 base64 代码塞到对象体内
    3. 瞧瞧高度啥的属性拿到了没
    qiaobeier
    qiaobeier
    Mar 7, 2017
    3
    更高效的方法是直接验证 base64 字符串。这个应该需要看看文档。
    imn1
    imn1
    Mar 7, 2017
    4
    这个为何是前端做的?
    后端判断啊,还要做安全判断呢
    jpg 的结尾字节是 FF D9
    jimliang
    jimliang
    Mar 7, 2017
    5
    1 , img.onerror
    2 , img.onload 然后获取 height 或者 width (有些有问题的图片也会触发 onload ,但是 heigth 为 0 )
    IamJ
    IamJ
    Mar 7, 2017
    6
    判断宽或高为 0 的方法根本没用,一些上传损坏的 jpg 加载出来一半是原图,一半是损坏的灰色
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2320 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 13:19 · PVG 21:19 · LAX 05:19 · JFK 08:19
    ♥ Do have faith in what you're doing.