微信小程序实现上传视频功能

首先 我们先来编写一个上传视频的函数

_skipArtileList:throttle(function(e){
let that=this
wx.chooseMedia({
	count: 1,  //上传视频数量
	mediaType:['video'],  //限制上传的类型为video
	sourceType:['album', 'camera'], //视频选择来源
	maxDuration: 58, //拍摄限制时间
	camera: 'back',  //采用后置摄像头
    success:function(res){
        //获取临时存放的视频资源
        let tempFilePath=res.tempFiles[0].tempFilePath
        //获取该视频的播放时间
        let duration=res.tempFiles[0].duration
         console.log("视频播放时间为"+duration)
         //获取视频的大小(MB单位)
		let size=parseFloat(res.tempFiles[0].size/1024/1024).toFixed(1)
		console.log("视频大小为"+size)
		//获取视频的高度
		let height=res.tempFiles[0].height
		console.log("视频高度为"+height)
		//获取视频的宽度
		let width=res.tempFiles[0].width
		console.log("视频宽度为"+width)
		//校验大小后,符合进行上传
		if(size>20){
			let beyongSize=size-20 //获取视频超出限制大小的数量
			Toast("上传的视频大小超限,超出"+beyongSize+"MB,请重新上传!")
			return
		}else{
			//符合大小限制,进行上传
			console.log("开始上传!!!")
			that.uploadvideo({
			    url: "上传地址", //视频上传的接口
				path: tempFilePath, //选取的视频资源临时地址
			});
        }
     },
})
},1000),

这里 这个请求地址大家千万不要乱填 他决定了你上传的视频会上传到哪去 这个是需要后台开发配合的

林外就是 我们真正上传的逻辑写在了 uploadvideo中
uploadvideo代码如下

uploadvideo: function (data) {
    wx.showLoading({
       title: '上传中...',
       mask: true,
    })
     var that = this
      //    视频压缩
     wx.compressVideo({
	    quality: 'high',
	    src: data.path,
	    success:function(res){
	      let size=parseFloat(res.size/1024/1024).toFixed(1)
	      console.log("压缩后视频大小为"+size)
	      that.setData({
	        sptemp:res.tempFilePath
	      })
      //上传视频
      wx.uploadFile({
        url: data.url,
        filePath: res.tempFilePath,
        name: 'uploadFile',
        header: {
          "X-Access-Token":wx.getStorageSync('token')
        },
        success: (resp) => {
          wx.hideLoading();
          //获取fastDFS返回的存储路径
          console.log(resp)
        },
      });
    },
  })   
},
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值