vue文件上传进度计算

一:页面:

二:实现上传功能:

<el-form-item label="视频" prop="pic">
       <el-input v-model="form.videoUrl" style="display: none;"/>
       <input type="file" @change="onFileChange" style="display: none;" id="uploadFile"/>
       <el-button type="primary" size="mini" icon="el-icon-upload" @click="goUpload">上传        
       </el-button>
       <el-progress v-if="uploading" :percentage="progress"></el-progress>
</el-form-item>
goUpload() {
      document.getElementById("uploadFile").click(); // 点击文件输入框
},

三:进度计算:

 axios.post(`${url}work/api/AppVersion/upload`, formData, {
        headers: {
          Authorization: getToken(), // 根据实际情况设置token
        },
        onUploadProgress: (progressEvent) => {
          this.progress = Number(((progressEvent.loaded / progressEvent.total) * 
          100).toFixed(1)); // 确保是数字 // 更新上传进度百分比
        },
})

四:功能实现:

总结:上传进度计算,主要是利用ajax中的onUploadProgress实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值