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

发布时间 - 2026-01-10 23:13:19    点击率:

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

前言:

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

选择相册要用到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

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


# 微信小程序  # 相册选择  # 拍照  # 小程序  # 拍照和相机选择  # 微信小程序调用摄像头隐藏式拍照功能  # 微信小程序 拍照或从相册选取图片上传代码实例  # 微信小程序拍照和摄像功能实现方法示例  # 微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)  # 微信小程序实现倒计时调用相机自动拍照功能  # 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传  # 微信小程序 chooseImage选择图片或者拍照  # 微信小程序-拍照或选择图片并上传文件  # 微信小程序使用前置摄像头拍照  # 都有  # 第二种  # 自己的  # 两种  # 是从  # 希望能  # 要用  # 正常使用  # 谢谢大家  # 如需  # 可通过  # 第一种  # 启动时  # 要拍  # 下次  # 文档  # setData  # compressed  # count  # sizeType 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微信小程序 闭包写法详细介绍  如何构建满足综合性能需求的优质建站方案?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel中的Facade(门面)到底是什么原理  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何快速生成ASP一键建站模板并优化安全性?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  如何获取上海专业网站定制建站电话?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  如何在阿里云香港服务器快速搭建网站?  如何自定义建站之星网站的导航菜单样式?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  敲碗10年!Mac系列传将迎来「触控与联网」双革新  EditPlus中的正则表达式实战(5)  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  高性能网站服务器部署指南:稳定运行与安全配置优化方案  Laravel怎么使用Intervention Image库处理图片上传和缩放  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel如何使用模型观察者?(Observer代码示例)  高防服务器:AI智能防御DDoS攻击与数据安全保障  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  教你用AI将一段旋律扩展成一首完整的曲子  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何挑选最适合建站的高性能VPS主机?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  北京网站制作的公司有哪些,北京白云观官方网站?  微信小程序 canvas开发实例及注意事项  网站页面设计需要考虑到这些问题  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  JS去除重复并统计数量的实现方法  高端企业智能建站程序:SEO优化与响应式模板定制开发  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  米侠浏览器网页背景异常怎么办 米侠显示修复  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  如何快速搭建二级域名独立网站?  MySQL查询结果复制到新表的方法(更新、插入)  如何快速搭建高效WAP手机网站?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南