swan.chooseAlbum

基础库 3.30.3开始支持,低版本需做兼容处理

解释:打开本地相册,相册内可以同时包含图片和视频。

方法参数

Object object

object参数说明

属性名类型必填默认值说明
countNumber9最多可以选择的图片/视频数量。
modeStringsingle打开相册后可选择资源类型设置, 可选择模式为: single/both; single: 打开相册后只能选择图片或视频; both: 打开相册后,可以同时选择图片和视频。
compressedBooleantrue是否压缩所选的视频源文件,需要压缩。
successFunction成功则返回图片或视频的本地文件路径列表 tempFilePaths。
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明

参数类型说明
tempFilePathsArray.<string>选择资源(图片或视频)的本地文件路径列表 。
tempFilesArray.<object>选择资源(图片或视频)本地文件列表,每一项是一个 File 对象。

tempFiles 对象结构如下:

字段类型说明
pathString本地文件路径
sizeNumber本地文件大小(单位:B)
type文件类型有效值:photo、video
durationNumber选定视频的时间长度 (单位:s); 开发者工具暂不支持

示例

扫码体验

swan.chooseAlbum - 图1请使用百度APP扫码

图片示例

swan.chooseAlbum - 图2

swan.chooseAlbum - 图3

swan.chooseAlbum - 图4

代码示例 1 - 打开相册只选择图片或视频

在开发者工具中预览效果

  • 在 js 文件中
  1. Page({
  2. chooseAlbum() {
  3. swan.chooseAlbum({
  4. count: 2,
  5. mode: 'single',
  6. compressed: true,
  7. success: res => {
  8. // 成功则返回图片的本地文件路径列表 tempFilePaths
  9. console.log(res.tempFilePaths);
  10. // 文件列表对象
  11. console.log(res.tempFiles);
  12. },
  13. fail: err => {
  14. console.log('错误码:' + err.errCode);
  15. console.log('错误信息:' + err.errMsg);
  16. }
  17. });
  18. }
  19. });

代码示例 2 - 打开相册选择图片和视频

在开发者工具中预览效果

  • 在 js 文件中
  1. Page({
  2. chooseAlbum() {
  3. swan.chooseAlbum({
  4. count: 3,
  5. mode: 'both',
  6. compressed: false,
  7. success: res => {
  8. console.log(res.tempFilePaths);
  9. console.log(res.tempFiles);
  10. },
  11. fail: err => {
  12. console.log('错误码:' + err.errCode);
  13. console.log('错误信息:' + err.errMsg);
  14. }
  15. });
  16. }
  17. });

Bug & Tip

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