微信小程序实现上传视频功能
作者:小黑学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


猜你喜欢
- Python 中使用线程有两种方式:函数或者用类来包装线程对象。函数式:调用 thread 模块中的start_new_thread()函数
- 前言因为经常一训练就是很多次迭代,所以找到效率比较高的操作能大大缩短运行时间,但这方面资料不足,所以自己记录总结一下,有需要再补充索引效率与
- 问题你想在一个消息传输层如 sockets 、multiprocessing connections 或 ZeroMQ 的基础之上实现一个简
- 编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个
- 前言本文旨在用最通俗的语言讲述最枯燥的基本知识这个话题比较有意思。昨天中午吃完饭间突然有个同事蹦出了一句:“like有索引吗?”,我顺口就说
- 1 安装Djangopython -m pip install django2 新建项目 my_apidjango-admin startp
- 本文主要是用PyTorch来实现一个简单的回归任务。 编辑器:spyder1.引入相应的包及生成伪数据import torchimport
- identity-card验证身份证号码的正确性,不能仅仅通过正则表达式来验证,我们都知道我国的身份证一共是18位,由十七位数字本体码和一位
- 目录与SpringBoot2.0整合 1、核心依赖2、配置文件3、实体类对象4、JPA框架的用法5、封装一个服务层逻辑测试代码块&
- 基本映射映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射.from bottle im
- swagger介绍Swagger本质上是一种用于描述使用JSON表示的RESTful API的接口描述语言。Swagger与一组开源软件工具
- 1. 张量的拼接(1) numpy.concatenatenp.concatenate((a1,a2,a3,…), axis=0)张量的拼接
- 1.前言面向对象编程的三大特性:封装、继承、多态。可见继承是面向对象程序设计中一个重要的概念。Go 作为面向对象的编程语言,自然也支持继承。
- 删除一,你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同,二,1,测试表create table TEST
- 今天看了微软JScript官方blog上去年的两篇文章: http://blogs.msdn.com/jscript/archive/200
- 下面是我写的NumericStepper:谢谢 果果 和 Rimifon , 我对代码进行了完善, 支持自适应小数位数:
- go语言中defer最主要的目的是在函数执行完毕后及时的释放资源入门案例package mainimport "fmt"
- python里dict(字典)怎么变成list(列表)?说明:列表不可以转换为字典1、转换后的列表为无序列表a = {'a'
- 主函数(Main Function)是程序中最重要的部分之一,它是程序入口点,也是程序开始执行的地方。1、主函数的定义在 Python 中,
- 一.Array在Go语言中,数组是一个值类型(value type)所有的值类型变量在赋值和作为参数传递时都将产生一个复制动作如果作为函数的