el-upload图片上传,可以自定义压缩图片

很多码友上传图片想进行自定义压缩图片的大小,可是又不想用Canvas写大量代码,接下来几行代码解决。
第一步安装:image-conversio

npm i image-conversion --save

第二步:在页面内引入

import * as imageConversion from 'image-conversion'

第三步:在el-upload 钩子函数 :before-upload=“beforeUpload” 添加代码块

   beforeUpload(file) {
    
    
            let types = ["image/jpeg", "image/jpg", "image/png"];
            const isImage = types.includes(file.type);
            // const isLtSize = file.size / 1024 / 1024 < 2;
            if (!isImage) {
    
    
                this.$message.error("上传图片只能是 JPG、JPEG、PNG 格式!");
                return false;
            }
            //图片压缩插件
            return new Promise((resolve) => {
    
    
                // 压缩到100KB,这里的100就是要压缩的大小,可自定义
                imageConversion.compressAccurately(file, 1000).then(res => {
    
    
                    resolve(res);
                });
            })
        }

就这么几行代码就可以自定义压缩了图片大小了。下面是完整代码图片。
请添加图片描述
请添加图片描述
请添加图片描述

猜你喜欢

转载自blog.csdn.net/weixin_58658898/article/details/132716063