cfan365
V2EX  ›  问与答

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

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

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

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