小程序实现上传视频功能


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 相关文章推荐
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
Aug 15 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
JS实现弹性漂浮效果的广告代码
Sep 02 Javascript
javascript自动切换焦点控制效果完整实例
Feb 02 Javascript
Bootstrap每天必学之级联下拉菜单
Mar 27 Javascript
JS功能代码集锦
May 04 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
Nov 04 Javascript
Node.js readline模块与util模块的使用
Mar 01 Javascript
详解Angular模板引用变量及其作用域
Nov 23 Javascript
JavaScript实现班级抽签小程序
May 19 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 SQL防注入代码集合
2008/04/25 PHP
PHP通用检测函数集合
2011/02/08 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
基于Jquery的温度计动画效果
2010/06/18 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
javascript连续赋值问题
2015/07/08 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
webpack3之loader全解析
2017/10/26 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
岗位聘任书范文
2014/03/29 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
重阳节标语大全
2014/10/07 职场文书
保管员岗位职责
2015/02/14 职场文书
自我推荐信怎么写
2015/03/24 职场文书
茶花女读书笔记
2015/06/29 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python
vue router 动态路由清除方式
2022/05/25 Vue.js