小程序实现上传视频功能


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 验证密码强弱的小例子
Mar 21 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 Javascript
JavaScript实现复制内容到粘贴板代码
Mar 31 Javascript
jquery编写Tab选项卡滚动导航切换特效
Jul 17 Javascript
JS动态给对象添加属性和值的实现方法
Oct 21 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
react 应用多入口配置及实践总结
Oct 17 Javascript
js尾调用优化的实现
May 23 Javascript
JavaScript 截取字符串代码实例
Sep 05 Javascript
vue Element-ui表格实现树形结构表格
Jun 07 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
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP反射实际应用示例
2019/04/03 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
基于D3.js实现时钟效果
2018/07/17 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
python抓取网页图片并放到指定文件夹
2014/04/24 Python
python如何实现数据的线性拟合
2019/07/19 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
史上最全面的Java面试题汇总!
2015/02/03 面试题
大学新生军训个人的自我评价
2013/10/03 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
揠苗助长教学反思
2014/02/04 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
餐饮周年庆活动方案
2014/08/14 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年校长工作总结
2014/12/11 职场文书
办公室主任岗位职责
2015/01/31 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
微信早安问候语
2015/11/10 职场文书
创业计划书之宠物店
2019/09/19 职场文书
导游词之青岛崂山
2019/12/27 职场文书
Python词云的正确实现方法实例
2021/05/08 Python
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android