小程序实现上传视频功能


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 相关文章推荐
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
Mar 01 Javascript
jQuery晃动层特效实现方法
Mar 09 Javascript
js防阻塞加载的实现方法
Sep 09 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
Feb 14 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
Echarts地图添加引导线效果(labelLine)
Sep 30 Javascript
layui清除radio的选中状态实例
Nov 14 Javascript
解决VueCil代理本地proxytable无效报错404的问题
Nov 07 Javascript
vue中如何添加百度统计代码
Dec 19 Vue.js
jQuery实现电梯导航模块
Dec 22 jQuery
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
如何在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
dojo 之基础篇
2007/03/24 Javascript
js 深拷贝函数
2008/12/04 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python常用知识点汇总
2016/05/08 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
Python实现全排列的打印
2018/08/18 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
环境工程毕业生自荐信
2013/11/17 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
教师节商场活动方案
2014/02/13 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
求职自荐信怎么写
2015/03/04 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
文艺演出主持词
2015/07/01 职场文书
自荐信范文
2019/05/20 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
swagger如何返回map字段注释
2021/07/03 Java/Android
配置Kubernetes外网访问集群
2022/03/31 Servers