小程序实现上传视频功能


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 相关文章推荐
javascript 类方法定义还是有点区别
Apr 15 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
js的表单操作 简单计算器
Dec 29 Javascript
javaScript arguments 对象使用介绍
Oct 18 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 Javascript
js 加密压缩出现bug解决方案
Nov 25 Javascript
js实现遍历含有input的table实例
Dec 07 Javascript
jQuery+ajax简单实现文件上传的方法
Jun 03 Javascript
Angularjs 实现一个幻灯片示例代码
Sep 08 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
详解微信小程序缓存--缓存时效性
May 02 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 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之变量、常量学习笔记
2008/03/27 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
php实现登陆模块功能示例
2016/10/20 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
用js传递value默认值的示例代码
2014/09/11 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
Python下使用Psyco模块优化运行速度
2015/04/05 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
python实现简单ftp客户端的方法
2015/06/28 Python
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
不拖欠农民工工资承诺书
2014/03/31 职场文书
给校长的建议书600字
2014/05/15 职场文书
教师演讲稿大全
2014/05/16 职场文书
经典演讲稿汇总
2014/05/19 职场文书
会计学专业自荐信
2014/06/25 职场文书
四年级小学生评语
2014/12/26 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
PyQt5实现多张图片显示并滚动
2021/06/11 Python