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


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 相关文章推荐
超简单的jquery的AJAX用法
May 10 Javascript
Javascript 面向对象 命名空间
May 13 Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
AngularJS基础 ng-csp 指令详解
Aug 01 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
angular2系列之路由转场动画的示例代码
Nov 09 Javascript
Bootstrap实现可折叠分组侧边导航菜单
Mar 07 Javascript
js使用文件流下载csv文件的实现方法
Jul 15 Javascript
vue动态设置页面title的方法实例
Aug 23 Javascript
Javascript文本框脚本实现方法解析
Oct 30 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部分常见问题总结
2008/03/27 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
php中strtotime函数性能分析
2016/11/20 PHP
php实现简易计算器
2020/08/28 PHP
索趣科技的答案
2007/02/07 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
玩转方法:call和apply
2014/05/08 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
Python中zip()函数用法实例教程
2014/07/31 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
Python查询IP地址归属完整代码
2017/06/21 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
基于python生成器封装的协程类
2019/03/20 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
学校介绍信范文
2014/01/14 职场文书
单位授权委托书范文
2014/08/02 职场文书
贷款工作证明模板
2015/06/12 职场文书
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers