微信小程序开发之相册选择和拍照详解及实例代码


Posted in Javascript onFebruary 22, 2017

微信小程序 拍照和相机选择详解

前言:

小程序中获取图片可通过两种方式得到,第一种是直接打开微信内部自己的样式,第一格就是相机拍照,后面是图片,第二种是弹框提示用户是要拍照还是从相册选择,下面一一来看。

选择相册要用到wx.chooseImage(OBJECT)函数,具体参数如下:

微信小程序开发之相册选择和拍照详解及实例代码

直接来看打开相机相册的代码:

Page({
 data: {
  tempFilePaths: ''
 },
 onLoad: function () {
 },
 chooseimage: function () {
  var that = this;
  wx.chooseImage({
   count: 1, // 默认9 
   sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 
   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 
   success: function (res) {
    // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 
    that.setData({
     tempFilePaths: res.tempFilePaths
    })
   }
  })

 },




})

方法一效果图如下:

微信小程序开发之相册选择和拍照详解及实例代码

个人认为第二种用户体验要好一点,效果如下:

微信小程序开发之相册选择和拍照详解及实例代码

点击获取弹框提示,代码如下:

Page({
 data: {
  tempFilePaths: ''
 },
 onLoad: function () {
 },
 chooseimage: function () {
  var that = this;
  wx.showActionSheet({
   itemList: ['从相册中选择', '拍照'],
   itemColor: "#CED63A",
   success: function (res) {
    if (!res.cancel) {
     if (res.tapIndex == 0) {
      that.chooseWxImage('album')
     } else if (res.tapIndex == 1) {
      that.chooseWxImage('camera')
     }
    }
   }
  })

 },

 chooseWxImage: function (type) {
  var that = this;
  wx.chooseImage({
   sizeType: ['original', 'compressed'],
   sourceType: [type],
   success: function (res) {
    console.log(res);
    that.setData({
     tempFilePaths: res.tempFilePaths[0],
    })
   }
  })
 }


})

文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

布局文件:

<button style="margin:30rpx;" bindtap="chooseimage">获取图片</button>
<image src="{{tempFilePaths }}" catchTap="chooseImageTap" mode="aspectFit" style="width: 100%; height: 450rpx" />

官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
简单的无缝滚动程序-仅几行代码
May 08 Javascript
JavaScript类库D
Oct 24 Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
JS自调用匿名函数具体实现
Feb 11 Javascript
javascript实现继承的简单实例
Jul 26 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
详解Angularjs filter过滤器
Feb 06 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
Oct 24 Javascript
js仿微博动态栏功能
Feb 22 #Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 #Javascript
svg动画之动态描边效果
Feb 22 #Javascript
jQuery实现的简单拖动层示例
Feb 22 #Javascript
Bootstrap 3 进度条的实现
Feb 22 #Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 #Javascript
canvas 绘制圆形时钟
Feb 22 #Javascript
You might like
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP 实现链式操作
2021/03/09 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
jQuery实现购物车表单自动结算效果实例
2015/08/10 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
Python读写配置文件的方法
2015/06/03 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
python反扒机制的5种解决方法
2021/02/06 Python
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
五型班组建设方案
2014/02/10 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
2014年导购员工作总结
2014/11/18 职场文书
电力培训学习心得体会
2016/01/11 职场文书