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

 更新时间:2022年08月28日 08:52:51   作者:小黑学IT  
这篇文章主要为大家详细介绍了微信小程序实现上传视频功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

微信开发者工具需要安装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、效果展示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Three.js基础学习之场景对象

    Three.js基础学习之场景对象

    这篇文章主要给大家介绍了Three.js基础学习之场景对象的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-09-09
  • Next.js中处理时区的常用方案推荐

    Next.js中处理时区的常用方案推荐

    这篇文章主要为大家详细介绍了Next.js中处理时区的几种常用方案推荐,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-01-01
  • ECharts绘制立体柱状图(圆柱体)详细示例

    ECharts绘制立体柱状图(圆柱体)详细示例

    echarts实现平面的柱状图很顺利,但是用户为了美观立体感,用到圆柱体图,下面这篇文章主要给大家介绍了关于ECharts绘制立体柱状图(圆柱体)的相关资料,需要的朋友可以参考下
    2023-11-11
  • javascript实现匀速动画效果

    javascript实现匀速动画效果

    这篇文章主要为大家详细介绍了javascript实现匀速动画效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 教你如何使用firebug调试功能了解javascript闭包和this

    教你如何使用firebug调试功能了解javascript闭包和this

    这篇文章主要介绍了教你如何使用firebug调试功能了解javascript闭包和this,javascript的调试也是一个比较大的难点,很多基础的东西都需要自己去摸索,这里将自己的经验分享给大家,希望对大家能够有所帮助
    2015-03-03
  • js escape,unescape解决中文乱码问题的方法

    js escape,unescape解决中文乱码问题的方法

    Js将字符串转换为特定的编码,使其能够被任意的计算机识别和读取
    2010-05-05
  • 企业微信扫码登录网页功能实现代码

    企业微信扫码登录网页功能实现代码

    这篇文章主要介绍了企业微信扫码登录网页功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • echarts折线图实现部分虚线部分实线效果的方法

    echarts折线图实现部分虚线部分实线效果的方法

    在折线图中,通常实线表示实际数据,而虚线用于表示预测数据,这篇文章主要介绍了echarts折线图实现部分虚线部分实线效果的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • JavaScript中$.ajax()最新用法举例详解

    JavaScript中$.ajax()最新用法举例详解

    这篇文章主要介绍了JavaScript中$.ajax()最新用法的相关资料,包括基础语法、现代回调方式、异步处理、高级场景示例、错误处理、安全注意事项、替代方法以及调试技巧,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • javascript实现平滑无缝滚动

    javascript实现平滑无缝滚动

    这篇文章主要为大家详细介绍了javascript实现平滑无缝滚动的具体代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05

最新评论