vue上传图片视频获取进度

本文介绍了一种使用FormData和axios在上传文件(如图片或视频)过程中监控上传进度的方法,并提供了在遇到特定错误时的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上传图片/视频获取上传进度
上传图片/视频因数据量大时,或者网络不佳时,则需要显示上传进度

<input type="file"  ref="video" accept="video/mp4"  @change="uploadvideo($event)"/>

uploadvideo(e){   
	var files = this.$refs.video.files[0]
	var datas = new FormData()
	datas.append("file",files)
	var config = {          
		onUploadProgress:progressEvent=>{
			var complete = (progressEvent.loaded / progressEvent.total * 100 | 0)
		    //complete为上传时的进度 0-100
		}
	}
	const ins= this.axios.create({withCredentials:false})            //跨域请求是否提供凭据信息
	ins.post("/api/video",datas,config).then((res)=>{
		//请求操作
	})
	e.target.value = ""
},

但是以上方法可能会导致一个错误,我在使用的时候报了一个:request.upload.addEventListener in not a function。

解决方法如下:
1、在 node_modules/mockjs/dist/mock.js 的8308行加上下面这句代码

MockXMLHttpRequest.prototype.upload = xhr.upload;

2、在 node_modules/mockjs/src/xhr/xhr.js 的216行加上上面这句代码
最好同时加上,以防万一

详情链接:关于上传视频监听进度报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端阿皓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值