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


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 相关文章推荐
js兼容标准的表格变色效果
Jun 28 Javascript
Javascript 文件夹选择框的两种解决方案
Jul 01 Javascript
在浏览器窗口上添加遮罩层的方法
Nov 12 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
简单的JS轮播图代码
Jul 18 Javascript
微信小程序 window_x64环境搭建
Sep 30 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
vue使用echarts图表的详细方法
Oct 22 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
Aug 05 Javascript
jQuery实现手风琴特效
Jan 11 jQuery
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
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
简单实现python画圆功能
2018/01/25 Python
Python get获取页面cookie代码实例
2018/09/12 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
介绍一下mysql的日期和时间函数
2013/03/28 面试题
教师节商场活动方案
2014/02/13 职场文书
专项法律服务方案
2014/06/11 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
房产证明范本
2015/06/19 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python