vue+element-ui+axios实现上传图片进度条效果

要下班了,写点啥

  • 首先封装axios,然后在需要的页面 引入(在此采用)

  • 也可以不封装的,直接使用

  • template如下 ;使用http-request 覆盖默认上传行为

<div class="upload" @mouseover="mouseOver" @mouseleave="mouseLeave">
                  <el-upload
                    class="avatar-uploader"
                    action=""
                    :data="{type:'COMP_BUSI_UNI'}"
                    :http-request="handleUploadFile"
                    :before-upload="(file,limitNum)=>beforeAvatarUpload(file,5)"
                    :show-file-list="false"
                    :on-success="(response, file, fileList)=>handleAvatarSuccess(response, file, fileList,'businessLicenceImg')"
                    >
                    <img v-if="formImgs.businessLicenceImg" :src="formImgs.businessLicenceImg" class="avatar">
                    <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                  </el-upload>
                  <!-- <el-input type="hidden" v-model="form.businessLicenceImg" class="hidden-input"></el-input> -->
                  <span v-if="formImgs.businessLicenceImg && imgDelete" class="upload-delete" @click="handleRemove('businessLicenceImg')">
                    <i class="iconfont icon-shanchu"></i>
                  </span>
                  {{jdt}}
                </div>
  • 请求方法
import request from '@/utils/request'
				// ---上传附件
export function uploadFile(data,callback){
    return request({
        url:'xxxx/upload',
        method:'post',
        data,
        ContentType: 'multipart/form-data',
        onUploadProgress: ProgressEvent => {//重点就是这个方法
            if(ProgressEvent.lengthComputable){//此判断的目的 根据意思就能知道了,可计算长度lengthComputable,值为true  时,ProgressEvent.total  才有效
                callback && callback(ProgressEvent)
            }
        }
    })
}
  • 发送请求
	const formData = new FormData();
      formData.append('file',file)
      formData.append('type',data.type);//我自己的图片类型
      uploadFile(formData,(e) => {
         this.jdt = e.loaded/e.total*100;
         //jdt   进度条 数据
      }).then(res => {
        console.log(res);
        this.formImgs['businessLicenceImg'] = URL.createObjectURL(file)
      })
      

忘不掉你的……结局难更改;
三人行必有我师焉;
可以看看哦
你不信吗?
真不信呀?
骗个人很难呀?
罢了罢了
其实不看也是可以的 都是重复的事情,‘你这幼稚的男孩’

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值