资讯专栏INFORMATION COLUMN

推荐一个用于压缩图片的JS插件:localResizeIMG

Dogee / 3356人阅读

摘要:图片压缩的原理大同小异,这里直接引用官方文档的原话基本原理是通过渲染图片,再通过方法压缩保存为字符串能够编译为格式的图片。这个过程我自己手撸过,代码很多,更不用提有各种的兼容性坑,所以最后权衡再三还是直接换成了这个插件。

惯例,先贴传送门:https://github.com/think2011/localResizeIMG

首先说到,为嘛要压缩图片,这需求一般出现在需要上传照片(尤其是移动端)的情况下,现在手机拍出来的照片随随便便就是好几兆,无论3/4G还WIFI要上传都很吃力,而且实际上也用不着这么大呀,一般压缩到个一百几十k就够用了。因此,我们需要在用户选好照片(可能是从相册中选择也可能是直接拍摄,看我博客的另一篇文章:html5 api:device"s media capture mechanism(设备的媒体捕捉机制)——利用input:file调用设备的照相机/相册、摄像机、录音机)后,先用js把照片压缩好了,再上传到服务器进行进一步的处理。

js图片压缩的原理大同小异,这里直接引用localResizeIMG官方文档的原话:

基本原理是通过canvas渲染图片,再通过 toDataURL 方法压缩保存为base64字符串(能够编译为jpg格式的图片)。

这个过程我自己手撸过,代码很多,更不用提有各种的兼容性坑,所以最后权衡再三还是直接换成了这个插件。
这插件用起来很简单(废话,用起来不简单还用来干嘛),传入照片(可以是file对象也可以直接传图片路径),设置好自己想要的分辨率(其实也就是width不超过多少px、heighti不超过多少px),然后再设置个图片质量,然后就是promise风格的callback了,直接把压缩后照片的base64传进callback里做参数,最后就是拿着这base64爱干嘛干嘛去。另外,作者还很贴心的把照片base64编码的长度也传参进来了,方便后端校验图片是否上传完整。
具体用法就不贴了,自己传送门去看呗,这里放个示例:


function upload () {
    lrz(this.files[0])
        .then(function (rst) {
            // 处理成功会执行
        })
        .catch(function (err) {
            // 处理失败会执行
        })
        .always(function () {
            // 不管是成功失败,都会执行
        });
});

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91567.html

相关文章

  • 结合Vue.js前端压缩图片方案

    摘要:图片文件大小减小后,上传速度自然会提升,在同样的并发下,后台处理的速度也会得到提升,用户体验得到提升。 这是一个很简单的方案。嗯,是真的。 为什么要这么做? 在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体验差 高并发下,后台处理较大的上传文件压力大 或许有更多... 在攻克上面的一些...

    sutaking 评论0 收藏0
  • 推荐轻量高效无依赖开源JS插件和库

    摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...

    AlphaWallet 评论0 收藏0
  • 推荐轻量高效无依赖开源JS插件和库

    摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...

    lushan 评论0 收藏0

发表评论

0条评论

Dogee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<