tt.chooseImage
基础库 1.0.0 开始支持本方法。
从系统相册中选择图片,或使用相机拍摄图片,选取成功后将存入本地临时文件,并在 success 回调中返回相应路径列表。
该 API 需要用户授权方可调用,详细信息可参考用户授权。
语法
tt.chooseImage([options])
参数说明
options
为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
count | number | 9 | 否 | 最多可以选择的图片数量,拍照时此选项无效 | 1.0.0 |
sourceType | Array | ['album', 'camera'] | 否 | 指定图片来源,album 从相册选图,camera 使用相机,默认二者都有 | 1.0.0 |
success | function | 否 | 接口调用成功的回调函数 | 1.0.0 | |
fail | function | 否 | 接口调用失败的回调函数(包含调用失败,以及取消操作) | 1.0.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行),回调参数同成功或失败回调 | 1.0.0 |
回调成功
执行时机:选取成功后。
回调参数为 Object 类型,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
tempFilePaths | Array<string> | 图片的本地文件路径列表 | 1.0.0 |
tempFiles | Array<object> | 图片对象数组,对象结构详见下表 | 1.0.0 |
tempFiles 数组中对象结构如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
path | string | 本地文件路径 | 1.0.0 |
size | number | 本地文件大小(单位:B) | 1.0.0 |
回调失败
执行时机:手动取消、参数错误,没有授权、文件路径为空、文件路径不存在。
回调参数为 Object 类型,属性如下:
属性 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "chooseImage:fail " + 详细错误信息 | 1.0.0 |
效果示例
扫码体验
请使用字节宿主APP扫码
代码示例
<!-- index.ttml -->
<button type="primary" bindtap="chooseImage">选择图片</button>
<view tt:if="{{imageList.length > 0}}">
<view tt:for="{{imageList}}">
<view>第 {{index + 1}} 张图片,图片 size:{{item.size}}</view>
<image src="{{item.path}}" />
</view>
</view>
// index.js
Page({
data: {
images: [],
},
chooseImage(e) {
tt.chooseImage({
count: 3,
success: (res) => {
tt.showToast({ title: "选择成功" });
console.log("chooseImage 返回结果:", res);
this.setData({
imageList: res.tempFiles,
});
},
fail(err) {
let errType = err.errMsg.includes("chooseImage:fail cancel") ? "取消选择" : "选择失败";
tt.showModal({
title: errType,
content: err.errMsg,
showCancel: false,
});
},
complete(res) {
console.log("完成选择");
},
});
},
});
Bug & Tip
- Tip:Android 上所选图片总大小不能超过 180M。
- Tip:暂不支持
sizeType
参数。 - Tip:手动取消也会触发失败回调,回调参数为
chooseImage:fail cancel
,可以通过判断详细错误信息区分取消和其他错误。
点击纠错
评价此篇文档