浏览器上传图片,如果图片过大,先压缩再上传,有什么js插件?

浏览器上传图片,如果图片过大,先压缩再上传,有什么js插件?
比如只能传小于2M的图片,那么,如果传的是大于2M的,就先压缩一下,压缩到2M以内,然后再上传。

阅读 4.3k
评论
    2 个回答
    • 4.3k

    自己写一个呗。不用二十分钟就能写好吧。

    大概思路就是读取 File 对象看看大小,如果太大的话,建立一个 Canvas,用 drawImage 方法把图片缩放后画在 canvas 上;然后用 Canvas 对象的 toBlob 方法(Chrome 暂时不支持 toBlob 方法,不过 polyfill 很容易找)导出成 Blob,以便上传。

    不过需要浏览器支持 Canvas、支持 XMLHttpRequest Level 2(以及 FormData)。如果需要兼容更老的浏览器的话,可以考虑 Flash。

      相似问题
      推荐文章