vue 图片指定大小压缩

文章介绍了一个使用npm包image-conversion进行图片处理的方法,包括安装、引入和使用。当图片大小超过限制时,会进行压缩。代码示例展示了如何监听上传图片数组的变化,对每张图片进行处理,转换为Base64格式。
1.安装命令

 npm i image-conversion --save
2.引入插件
import * as imageConversion from "image-conversion";
  //  
  <div class="upload">
                <van-uploader
                  accept="image/*"
                  v-model="imgList"
                  multiple
                  :max-count="5"
                  :max-size="8 * 1024 * 1024"
                  @oversize="onOversize"
                />
    </div>

 //methods
  async handeImg(img) {
      // 小于2M直接转成bolb对象 大于两m压缩成2000kb左右
      let data = null;
      if (img.size < 1 * 1024 * 1024) {
        data = new Blob([img], { type: img.type });
      } else {
        data = await imageConversion.compressAccurately(img, 2000);
      }
      const base64 = await imageConversion.filetoDataURL(data);
      return base64;
    },


  //监听 imgList上传数组

    watch: {
    async imgList(Nval) {
      try {
        this.certficationImage1 =
          Nval[0] && (await this.handeImg(Nval[0].file));
        this.certficationImage2 =
          Nval[1] && (await this.handeImg(Nval[1].file));
        this.certficationImage3 =
          Nval[2] && (await this.handeImg(Nval[2].file));
        this.certficationImage4 =
          Nval[3] && (await this.handeImg(Nval[3].file));
        this.certficationImage5 =
          Nval[4] && (await this.handeImg(Nval[4].file));
      } catch (error) {
        console.log(error);
      }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值