vue 移动端上传图片结合localResizeIMG插件进行图片压缩

落花浮王杯 提交于 2019-12-06 15:08:14

localResizeIMG插件的功能是将图片进行压缩,然后转换成base64传给后台。

首先,

1 npm i lrz -save

然后,再main.js里面引入lrz

import lrz from 'lrz'

最后就可以在组件里使用

1 <input  type="file" @change="uploadImg($event)" id="file" accept="image/*" class="uploadImg" multiple>
 1  uploadImg(e){
 2         let that=this;
 3         let imgFiles=e.target.files;
 4         if(e.target.files.length+that.showImgsrc.length>=4){
 5           MessageBox("提示", "最多只能三张图片,请重新上传");
 6         }else{
 7           for(var i=0;i<imgFiles.length ; i++ ){
 8             lrz(imgFiles[i])
 9               .then(function (rst) {
10                 // 处理成功会执行
11                 that.showImgsrc.push(rst.base64);
12               })
13               .catch(function (err) {
14                 // 处理失败会执行
15                 console.log(err);
16               })
17               .always(function () {
18                 // 不管是成功失败,都会执行
19               });
20           }
21         }
22       },

因为我是多图上传,所以showImgsrc是一个base64格式的图片形成的数组,然后展示在页面上,也可以传给后台接口,进行后面的操作。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!