vue2+element ui 项目使用Upload 上传组件,实现图片压缩

使用element ui的Upload 上传组件,实现图片压缩

在template中代码

					<el-form-item 
                            label="图片"
                            :label-width="'120px'"
                            prop="menuName"
                  >
					<el-upload
                                action="#"
                                class="avatar-uploader"
                                :auto-upload="false"
                                :show-file-list="false"
                                :on-success="handleAvatarSuccess"
                                :before-upload="beforeAvatarUpload"
                                :on-change="onChange"
                            >
                                <img v-if="imageUrl" :src="imageUrl" class="avatar">
                                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                            </el-upload>
                        </el-form-item>

script中代码

<script>
// 引入做压缩处理的函数
import {
    
    transitionBase64,
    compressImg,
    dataURItoBlob,
    base64ToFile
 } from '@/utils/compressTransitionImg.js'
export default {
   
    data() {
   
        return {
   
            imageUrl: '',
        }
    },
    methods: {
   
        // 图片改变
        async onChange(file, fileList) {
   
            console.log('file, fileList', file, fileList)
            console.log('上传的文件file', file)
            const isJPG = file.type === 'image/jpeg';
            const isLt2M = file.size / 1024 / 1024 < 2;

            /* if (!isJPG) {
                this.$message.error('上传头像图片只能是 JPG 格式!');
            }
            if (!isLt2M) {
                this.$message.error('上传头像图片大小不能超过 2MB!');
            } */

            // 定义需要上传的文件
            let formData = new FormData()
            formData.append('file', file.raw)
            console.log('formData', formData)
            console.log('formData.getAll()', formData.getAll(['file']))
            
            // this.imageUrl = URL.createObjectURL(file.raw)

            let result = await transitionBase64
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值