• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

element-ui upload 上传图片之前压缩

开发技术 开发技术 2周前 (04-30) 6次浏览

 

1、安装模块 image-conversion

npm install --save image-conversion

 

2、在utils/utils文件封装全局方法

import * as imageConversion from 'image-conversion';
/**
 * 压缩图片
 * inputFile :file
 * toSize : 想要压缩的大小
 * */
export async function compressAccurately(inputFile, toSize) {
  const resAvatarBlob = await imageConversion.compressAccurately(inputFile, toSize);
  const resAvatarFile = new window.File(
    [resAvatarBlob],
    inputFile.name,
    { type: inputFile.type },
  );
  resAvatarFile.uid = inputFile.uid
  return resAvatarFile;
}

3、将方法绑定到全局/main.js

import * as utils from '@/utils/utils'
Vue.prototype.utils = utils;

4、使用

/** 图片上传之前的校验  */
      async beforeImgUpload(file) {
        // const resAvatarBlob = await imageConversion.compressAccurately(file, 400);
        // let resAvatarFile = new window.File(
        //   [resAvatarBlob],
        //   file.name,
        //   { type: file.type },
        // );
        //
        // resAvatarFile.uid = file.uid
        // return resAvatarFile;
        return this.utils.compressAccurately(file,600)
      },

 


程序员灯塔
转载请注明原文链接:element-ui upload 上传图片之前压缩
喜欢 (0)