热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序发布视频带封面图标题

视频标题:

视频标题:上传视频封面{sourcell}}" src='{{sourcel}}' />
-->上传视频封面{poster}}" src="{{poster}}" mode="aspectFill" bindtap="chooseVideo"/> -->{poster}}" src="{{poster}}" mode="aspectFill"/> -->{clickFlag}}">上传视频 -->确认上传上传视频

/* pages/video/video.wxss */
.main{width:100%;
}
.playerInfo{}
.video{/* border :2rpx solid #cccccc; */
}
.videoContent{display: flex;align-items: center;justify-content: center;width: 200rpx;height: 146rpx;background: #F5F5F5;position: relative;
}
/*播放小图标*/
.playImg{position: absolute;top: 36%;left:46%;width:64rpx;height: 64rpx;
}
.footerbtn{display: flex;margin-top: 20rpx;
}
.button{width:40%;
}
.videoUrlResult{width: 100%;margin-top: 20rpx;
}
.videoUrlResult .title{ font-size: 28rpx;font-weight: bold;color: red;margin-left: 20rpx;
}/* ------------ */.userflex{display: flex;justify-content: flex-start;align-items: center;margin: 70rpx 0;
}
.mylistname{
font-size: 28rpx;
font-weight: 700;
}
.weui-input{
margin-left: 40rpx;
}
.shipin{width: 200rpx;
height: 146rpx;
background: #F5F5F5;
border-radius: 6rpx;
position: relative;
}
.shangtext{font-size: 32rpx;
font-weight: 700;
margin-bottom: 30rpx;
}
.tiajiaimg{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 34rpx;height: 34rpx;}
.playImgl{width: 100%;height: 100%;
}
.baocun{margin-top: 140rpx;
width: 100%;
height: 86rpx;
background: #7CAAFF;
border-radius: 43px;
text-align: center;
line-height: 86rpx;
font-size: 32rpx;
color: #FFF;
}
.tiajiaimgm{width: 100%;height: 100%;
}


var app=getApp()
Page({/*** 页面的初始数据*/data: {thumbTempFilePath:"",name:"",video_upload:"",// -------------videoUrl:"",poster:"",clickFlag:true, //防重复点击 source:"../../images/tiajial.png",lte:true},name(e) {console.log("name",e.detail.value);this.setData({name: e.detail.value})},uploadimg: function () {var that = this;wx.chooseImage({ //从本地相册选择图片或使用相机拍照count: 1, // 默认9sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有success: function (res) {var tempFilePaths = res.tempFilePathswx.uploadFile({url: app.globalData.baseUrl + "/Video/video_upload_img",filePath: tempFilePaths[0],name: 'file',formData: {file: tempFilePaths[0],},success: function (res) {var jso = JSON.parse(res.data)console.log("单图", jso.data);that.setData({source: jso.data,lte: false})}})}})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 拍摄或选择视频并上传服务器*/chooseVideo: function () {console.log("chooseVideo")this.setData({clickFlag: false})let that = this//1.拍摄视频或从手机相册中选择视频wx.chooseMedia({sourceType: ['album', 'camera'], // album 从相册选视频,camera 使用相机拍摄// maxDuration: 60, // 拍摄视频最长拍摄时间,单位秒。最长支持60秒camera: 'back',//默认拉起的是前置或者后置摄像头,默认backcompressed: true,//是否压缩所选择的视频文件success: function(res){console.log("说裸图",res)var thumbnail = res.tempFiles[0]let tempFilePath = thumbnail.tempFilePath//选择定视频的临时文件路径(本地路径)let thumbTempFilePath=thumbnail.thumbTempFilePathlet duration = res.duration //选定视频的时间长度let size = parseFloat(res.size/1024/1024).toFixed(1) //选定视频的数据量大小// let height = res.height //返回选定视频的高度// let width = res.width //返回选中视频的宽度 that.setData({thumbTempFilePath:thumbTempFilePath})that.data.duration = durationif(parseFloat(size) > 100){that.setData({clickFlag: false,duration: ''})let beyOndSize= parseFloat(size) - 100wx.showToast({title: '上传的视频大小超限,超出'+beyondSize+'MB,请重新上传',//image: '',//自定义图标的本地路径,image的优先级高于iconicon:'none'})}else{//2.本地视频资源上传到服务器that.uploadFile(tempFilePath)}},fail: function() {// fail},complete: function() {// complete}})},/*** 将本地资源上传到服务器* */uploadFile:function(tempFilePath){let that = thislet third_session = wx.getStorageSync('third_session')wx.showLoading({title: '上传进度:0%',mask: true //是否显示透明蒙层,防止触摸穿透})const uploadTask = wx.uploadFile({url: app.globalData.baseUrl + "/Video/video_upload",//开发者服务器地址filePath:tempFilePath,//要上传文件资源的路径(本地路径)name:'file',//文件对应key,开发者在服务端可以通过这个 key 获取文件的二进制内容// header: {}, // 设置请求的 headerformData: {third_session: third_session,// workerid :wx.getStorageSync('workeridl')}, // HTTP 请求中其他额外的 form datasuccess: function(res){console.log("uploadFile",res)// successlet data = JSON.parse(res.data)wx.hideLoading()// if(data.returnCode == 200){that.setData({video_upload:data.data,videoUrl: data.videoUrl,poster: data.imgUrl,duration: that.data.duration,// clickFlag:true})// wx.showToast({// title: '上传成功',// icon: 'success'// })// }else{// that.setData({// videoUrl: '',// poster: '',// duration: '',// clickFlag:true// })// wx.showToast({// title: '上传失败',// icon: 'none'// })// }},fail: function() {// failwx.hideLoading()that.setData({videoUrl: '',poster: '',duration: '',clickFlag:true})wx.showToast({title: '上传失败',icon: 'none'})}})//监听上传进度变化事件uploadTask.onProgressUpdate((res) =>{wx.showLoading({title: ''+res.progress+'%',mask: true //是否显示透明蒙层,防止触摸穿透})console.log("上传进度",res.progress)console.log("已经上传的数据长度,单位 Bytes:",res.totalBytesSent)console.log("预期需要上传的数据总长度,单位 Bytes:",res.totalBytesExpectedToSend)})},//保存数据库saveVideo(){console.log(this.data.video_upload);//调用服务器保存视频信息接口wx.request({url: app.globalData.baseUrl + "/Video/setVideo",data: {workerid:wx.getStorageSync('workeridl') ,title :this.data.name ,imageurl:this.data.source ,videourl: this.data.video_upload},method: 'post',success: function (res) {console.log("dasxzv",res);wx.showToast({title: '上传成功',icon: 'success'})},fail: function() {wx.showToast({title: '上传失败',icon: 'none'})}});}
})

{"navigationBarTitleText": "发布视频","usingComponents": {}
}


推荐阅读
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文介绍了小程序商城引进流量的优化策略与方法。首先,通过附近小程序功能可以增加周围门店的方位并展示,吸引附近用户。其次,利用微信群聊功能,将小程序分享到多个微信群聊中,扩大影响力。最后,通过设置一些固定的活动机制,打造仪式感来吸引用户。这些方法能够有效提升小程序商城的流量,增加用户数量。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
author-avatar
詹姵慧3482
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有