小程序实现上传视频功能


Posted in Javascript onAugust 18, 2020

本文实例为大家分享了小程序实现上传视频功能的具体代码,供大家参考,具体内容如下

.js文件

// miniprogram/pages/message/messageForm/messageForm.js
Page({

 /**
 * 页面的初始数据
 */
 data: {
 webServer: 'https://xxxx.xxx.com',
 src: '',
 webviewshow: 'hide',
 webviewurl: '',
 gid: "",
 uid: '',
 duration: '',
 height: '',
 size: '',
 width: '',
 ThumbPath: false,
 videoshow: 'hide'
 },
 
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 this.setData({
 gid: options.gid,
 uid: options.uid
 })
 },

 chooseVideo: function () {
 var that = this
 wx.chooseVideo({
 success: function (res) {
 that.setData({
 src: res.tempFilePath,
 })
 }
 })
 },
 getLocalVideo: function () {
 var that = this;
 var session_key = wx.getStorageSync('session_key');
 wx.chooseVideo({
 maxDuration: 10,
 success: function (res1) {
 // 这个就是最终拍摄视频的临时路径了
 that.setData({
 src: res1.tempFilePath,
 duration: res1.duration,
 height: res1.height,
 size: res1.size,
 width: res1.width,
 videoshow: 'thumb'
 })
 wx.showToast({
 title: '选择成功',
 icon: 'succes',
 duration: 2000,
 mask: true
 })
 },
 fail: function () {
 console.error("获取本地视频时出错");
 }
 })
 },
 uploadvideo: function () {
 var that = this;
 wx.showLoading({
 title: '上传中',
 })
 var src = this.data.src;
 if (src) {
 that.setData({
 ThumbPath: true
 })
 }
 wx.uploadFile({
 url: that.data.webServer + 'xxxxxx',//服务器接
 formData: {
 'uid': that.data.uid,
 'gid': that.data.gid,
 'duration': that.data.duration,
 'height': that.data.height,
 'size': that.data.size,
 'width': that.data.width
 },
 method: 'POST',//这句话好像可以不用
 filePath: src,
 header: {
 'content-type': 'multipart/form-data'
 },
 name: 'files',//服务器定义的Key值
 success: function (e) {
 wx.hideLoading();
 if (typeof e.data != 'object') {
 e.data = e.data.replace(/\ufeff/g, "");//重点
 var data = JSON.parse(e.data);
 if (data.status == 1) {
 wx.showToast({
 title: '上传成功',
 icon: 'succes',
 duration: 1000,
 mask: true
 })
 setTimeout(function () {
 that.backHtml();
 }, 1000)
 } else if (data.status == 2) {
 wx.showToast({
 title: '文件过大',
 icon: 'succes',
 duration: 1000,
 mask: true
 })
 }
 }
 },
 fail: function () {
 wx.showToast({
 title: '上传失败',
 icon: 'succes',
 duration: 1000,
 mask: true
 })
 }
 })
 },
 backHtml: function () {
 var that = this;
 wx.reLaunch({
 url: '/pages/index/index?gid=' + this.data.gid
 })
 },
 

 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function () {

 },

 /**
 * 生命周期函数--监听页面显示
 */
 onShow: function () {

 },

 /**
 * 生命周期函数--监听页面隐藏
 */
 onHide: function () {

 },

 /**
 * 生命周期函数--监听页面卸载
 */
 onUnload: function () {

 },

 /**
 * 页面相关事件处理函数--监听用户下拉动作
 */
 onPullDownRefresh: function () {

 },

 /**
 * 页面上拉触底事件的处理函数
 */
 onReachBottom: function () {

 },

 /**
 * 用户点击右上角分享
 */
 onShareAppMessage: function () {

 }
})

.wxml

<view class='contbox'>
 <view class='thumbbox'>
 <video class="{{videoshow}}" src="{{src}}"></video>
 </view>
 <!-- 提交 -->
 <button bindtap='getLocalVideo' class="btn2" type="primary" form-type='submit'>选择视频</button>
 <button type="default" class="btn2" bindtap="chooseVideo" bindtap='uploadvideo' type="warn" form-type='reset'>上传视频</button>
</view>

.wxss

.thumbbox {
 display: flex;
 justify-content: center;
 align-items: center;
}

小程序实现上传视频功能

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

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

Javascript 相关文章推荐
js GridView 实现自动计算操作代码
Mar 25 Javascript
jQuery Dialog 弹出层对话框插件
Aug 09 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
Jun 05 Javascript
jQuery实现的可编辑表格完整实例
Jun 20 Javascript
浅谈js中test()函数在正则中的使用
Aug 19 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
使用vue-aplayer插件时出现的问题的解决
Mar 02 Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
js取小数点后两位四种方法
Jan 18 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
利用JavaScript将Excel转换为JSON示例代码
Jun 14 Javascript
vue vant中picker组件的使用
Nov 03 Javascript
如何在selenium中使用js实现定位
Aug 18 #Javascript
vue实现移动端input上传视频、音频
Aug 18 #Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 #Javascript
JavaScript数组排序的六种常见算法总结
Aug 18 #Javascript
js实现简单扫雷
Nov 27 #Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 #Javascript
javascript实现扫雷简易版
Aug 18 #Javascript
You might like
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
Python基础入门之seed()方法的使用
2015/05/15 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
numpy.array 操作使用简单总结
2019/11/08 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
质量月活动总结
2014/08/26 职场文书
委托书格式范文
2015/01/28 职场文书
校长个人总结
2015/03/03 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
德劲DE1105机评
2022/04/05 无线电