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

作者:小黑学IT 时间:2023-08-24 16:18:42 

本文实例为大家分享了微信小程序上传视频,供大家参考,具体内容如下

微信开发者工具需要安装ffmpeg环境才能正常使用下面的官方方法。

1、调用官方提供的方法(wx.chooseMedia)

choosevideo(){
    let that=this
    console.log("上传视频的方法")
    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: api.uploadfiletofastdfs, //视频上传的接口
            path: tempFilePath, //选取的视频资源临时地址
          });
        }
      },
    })
  },

 //视频上传
    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)
            },
          });
        },
      })   
    },

2、页面中用标签将上传的视频显示出来

<video  src="{{sptemp}}" ></video>

3、效果展示

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

来源:https://blog.csdn.net/qq_43804570/article/details/124747537

标签:微信小程序,上传视频
0
投稿

猜你喜欢

  • ASP中Session技巧 默认过期时间为20分钟

    2012-12-04 20:28:26
  • mysql备份脚本并保留7天

    2024-01-13 03:10:34
  • 如何解决django配置settings时遇到Could not import settings 'conf.local'

    2021-07-23 13:31:57
  • javascript替换已有元素replaceChild()使用介绍

    2024-04-10 13:55:08
  • asp测字符串长度及截取定长字符串汉字的处理

    2007-10-12 13:14:00
  • Python基于ImageAI实现图像识别详解

    2023-06-11 14:04:49
  • TensorFlow中权重的随机初始化的方法

    2023-01-02 06:11:32
  • javascript设置文本框光标的方法实例小结

    2024-04-25 13:06:35
  • 基于vue+element实现全局loading过程详解

    2023-07-02 17:01:05
  • 详解go语言中sort如何排序

    2023-09-03 14:00:38
  • 如何在Python项目中引入日志

    2023-01-25 15:10:53
  • CentOS6.9+Mysql5.7.18源码安装详细教程

    2024-01-19 02:42:14
  • Pytorch模型微调fine-tune详解

    2021-06-17 07:29:00
  • Access 2003开发者扩展工具集概述

    2009-03-19 18:32:00
  • 如何在windows下安装配置python工具Ulipad

    2023-07-25 20:38:59
  • Python是什么 Python的用处

    2021-12-20 05:55:37
  • python 可视化库PyG2Plot的使用

    2022-10-14 05:22:17
  • mysql root密码的重设方法(亲测可用)

    2024-01-25 13:37:18
  • 一个函数解决SQLServer中bigint 转 int带符号时报错问题

    2024-01-19 23:26:36
  • 一文搞懂Go语言标准库strconv

    2024-04-23 09:41:45
  • asp之家 网络编程 m.aspxhome.com