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


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 相关文章推荐
javascript 密码强弱度检测万能插件
Feb 25 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
Nov 07 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
Jun 22 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
微信小程序实现自定义modal弹窗封装的方法
Jun 15 Javascript
React 组件中的 bind(this)示例代码
Sep 16 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
Feb 09 Javascript
JavaScript实现网页tab栏效果制作
Nov 20 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP里的单例类写法实例
2015/06/25 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
JavaScript中自带的 reduce()方法使用示例详解
2016/08/10 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
JS面向对象之多选框实现
2020/01/17 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
python开发游戏的前期准备
2019/05/05 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
美国电视购物:QVC
2017/02/06 全球购物
美国折扣网站:jClub
2017/08/07 全球购物
预备党员政审材料
2014/02/04 职场文书
大学活动总结范文
2014/04/29 职场文书
大专学生求职信
2014/07/04 职场文书
安全责任书范文
2014/08/25 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
解决MySQL报“too many connections“错误
2022/04/19 MySQL