wxml

<!-- 图片预览 -->
<view class='preview-warp' wx:if="{{urls}}">
<image src='{{urls}}' />
</view>
<view class="prew_video" hidden="{{chooesVideo==''}}">
<video bindfullscreenchange="bindVideoScreenChange" src="{{chooesVideo}}" ></video>
</view> <!-- 按钮组 -->
<view class='upimg' bindtap='chooseImg'>上传图片</view>
<view class='upvideo' bindtap='chooseVideo'>上传视频</view>

wxss

/* 预览 */
.preview-warp{
display: flex;
align-items: center; /*垂直居中*/
justify-content: center; /*居中对齐*/
position: relative;
background-color: #fff;
}
.prew_video{
display: flex;
align-items: center; /*垂直居中*/
justify-content: center; /*居中对齐*/
position: relative;
background-color: #fff;
}
.prew_video[hidden]{
display: none;
}
.prew_video .play{
width: 48rpx;
height: 48rpx;
} /* 上传按钮组 */
.upimg{
width: 49%;
height: 80rpx;
line-height: 80rpx;
font-size: 30rpx;
float: left;
background: #41C7DB;
text-align: center;
border: 1px solid #000;
/* border-left: 1px solid #000; */
}
.upvideo{
width: 49.5%;
height: 80rpx;
line-height: 80rpx;
font-size: 30rpx;
float: left;
text-align: center;
border: 1px solid #000;
background: #fff
}

js

//index.js
var app = getApp()
var count = 0;
Page({
data: {
chooesVideo:'', //上传视频地址
tipHide: false,
chooseTypeHide: true,
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options.status)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function (res) {
this.videoContext = wx.createVideoContext('prew_video');
},/**
* 上传图片
*/
chooseImg:function() {
let that = this
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
console.log(res)
var tempFilePaths = res.tempFilePaths
that.data.images = tempFilePaths
// 多图片
// that.data.urls = that.data.urls.concat(tempFilePaths)
// 单图片
that.data.urls = tempFilePaths[0]
that.setData({
images: tempFilePaths[0],
urls: that.data.urls
}) }
})
}, /**
* 上传视频
*/
chooseVideo:function(){
let that = this
wx.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
camera: 'back',
success: function (res) {
that.setData({
chooesVideo: res.tempFilePath
})
}
})
}, /**
* 全屏改变
*/
bindVideoScreenChange: function (e) {
var status = e.detail.fullScreen;
var play = {
playVideo: false
}
if (status) {
play.playVideo = true;
} else {
this.videoContext.pause();
}
this.setData(play);
} })

微信小程序上传图片,视频及预览的更多相关文章

  1. 微信小程序(组件demo)以及预览方法:(小程序交流群:604788754)

    1. 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开发者设置"中,查看到微信小程序的 Ap ...

  2. 微信小程序开发之图片预览

    实现图片的展示和大图预览 使用wx.previewImage(OBJECT)来实现 OBJECT参数说明: 参数 类型 必填 说明 current String 否 当前显示图片的链接,不填则默认为 ...

  3. 微信小程序——网盘图片预览

    微信小程序图片预览提供了一个wx.previewImage接口,如下图: 现在我需要对网盘文件里的图片预览,但是网盘从后台返回的数据是各种类型的文件,如下图所示: 那么我们需要解决2个问题: 1.从这 ...

  4. 微信小程序:点击预览图片

    在开发微信小程序时,开发人员会参考着小程序api来开发小程序,但有的时候根据情况不同很容易出现bug,以下是我在开发小程序时出现的各种bug,在开发时有需要预览图片. 1.xml <view c ...

  5. 微信小程序图片选择,预览和删除

    这里均用的是小程序原生api 废话不多说直接上栗子: <view class="addImv"> <!--这个是已经选好的图片--> <view wx ...

  6. 微信小程序:点击预览大图功能

    点击预览大图功能 1. 给轮播图swiper-item绑定点击事件 2. 预览功能的本质是调用了小程序的api:previewImage 微信公众号----文档----开发----API----媒体- ...

  7. 微信小程序实现图片放大预览效果

    可以直接用微信程序自己的api很方便的实现 核心方法 wx.previewImage: 直接上代码, wxml: <!--pages/prewpicture/prew.wxml--> &l ...

  8. 解决微信小程序wepy真机预览跟本地表现不一样,数据变化了视图没变化

    当时搜了很多相关问题都没找到相似的 只看到有这个相似的描述wepy在onLoad里修改data-object的值页面不渲染 ,通过setData解决的. 但是这个还不是根本的解决办法,有些地方用set ...

  9. 微信小程序点击图片预览-wx.previewImage

    <view class='imgList'> <view class='imgList-li' wx:for='{{imgArr}}'> <image class='im ...

  10. 微信小程序-点击图片预览

    拿接口  有封装 封装查看另外的博文 点击动作 WXHTML 注意 data-xxxx自定义属性 这样知道我点的是哪个参数

随机推荐

  1. [数据清洗]-Pandas 清洗“脏”数据(一)

    概要 准备工作 检查数据 处理缺失数据 添加默认值 删除不完整的行 删除不完整的列 规范化数据类型 必要的转换 重命名列名 保存结果 更多资源 Pandas 是 Python 中很流行的类库,使用它可 ...

  2. 使用Lucene-Spatial实现集成地理位置的全文检索

    Lucene通过Spatial包提供了对基于地理位置的全文检索的支持,最典型的应用场景就是:“搜索中关村附近1公里内的火锅店,并按远近排序”.使用Lucene-Spatial添加对地理位置的支持,和之 ...

  3. 如何用impress.js写有逼格的ppt

    概述 这是我学习课程impress让你的内容"舞"起来而做的总结和练手. 你可以点这里在线预览我做的ppt 注意:等加载完了之后,点击空格键翻页! 简化模板 下面是一个简化的模板 ...

  4. 生成多个git ssh密钥

    如果你已经有了一套名为 id_rsa 的公秘钥,将要生成另外一个公钥,比如 aysee ,你也可以使用任何你喜欢的名字. 步骤如下: 1.生成一个新的自定义名称的公钥: ssh-keygen -t r ...

  5. 使用docker redis-cluster集群搭建

    参考https://www.cnblogs.com/cxbhakim/p/9151720.html此文 主要搭建过程参考上文,此处讲下主要过程和遇到的坑 首先是镜像的基础搭建,我不知道是否是作者编写时 ...

  6. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 6.在计算节点上安装并配置计算服务Nova

    安装和配置计算节点这个章节描述如何在计算节点上安装和配置计算服务. 计算服务支持几种不同的 hypervisors.为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based ...

  7. 1,rocketmq 的原理与安装教程

    参考文档 http://blog.csdn.net/a19881029/article/details/34446629 https://github.com/alibaba/RocketMQ htt ...

  8. Python模块——logging模块

    logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ...

  9. SSM工作流程的大致理解

    //不是根据源码来理解的,所以细节有省略.. 首先从在浏览器输入URl的那一刻开始 例如输入 localhost:8080/MyProject/listCategory 初始化: 此时tomcat已经 ...

  10. vue项目打包上线时的配置操作

    vue的图片路径,和背景图片路径打包后错误解决 2017-12-11 16:00 by muamaker, 7037 阅读, 0 评论, 收藏, 编辑 最近在研究vue,老实的按照官网提供的,搭建的了 ...