sud.chooseImage
从相册选择图片或使用相机拍照,取得图片的本地临时文件路径。
javascript
sud.chooseImage(object)参数
Object object
| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
| count | number | 否 | 最多选择的图片数量,建议显式传入正整数;实际可选数量以当前运行环境支持为准 |
| sizeType | Array<string> | 否 | 图片尺寸类型,可选值为 original(原图)、compressed(压缩图);建议显式指定需要的类型 |
| sourceType | Array<string> | 是 | 图片来源,至少包含 album(相册)或 camera(相机)之一;可同时传入两者 |
| success | function | 否 | 选择或拍照成功回调 |
| fail | function | 否 | 选择或拍照失败回调,包括用户取消 |
| complete | function | 否 | 调用结束回调,成功或失败均执行 |
count、sizeType 没有统一约定的默认值。建议完整传入 count、sizeType 和 sourceType,不要依赖省略参数后的行为。
返回值
异步接口,通过 success 取得选择结果。
回调参数
success
| 属性 | 类型 | 说明 |
|---|---|---|
| tempFilePaths | Array<string> | 选中图片的本地临时文件路径列表 |
| tempFiles | Array<Object> | 选中图片的文件信息列表 |
tempFiles 中每一项的结构:
| 属性 | 类型 | 说明 |
|---|---|---|
| path | string | 图片的本地临时文件路径 |
fail
| 属性 | 类型 | 说明 |
|---|---|---|
| errCode | number | 错误码 |
| errMsg | string | 错误信息 |
complete
在 success 或 fail 之后调用,不携带参数。
使用说明
- 以实际返回的
tempFilePaths或tempFiles长度为准,不要假设返回数量一定等于count。 tempFiles的附加文件信息可能因运行环境而异;跨环境使用图片路径时,优先读取tempFilePaths。- 同时允许原图和压缩图时,实际返回的图片类型取决于当前运行环境;需要明确的结果时只指定一种
sizeType。 - 图片来源不可用、用户取消、权限被拒绝或图片处理失败时,应处理
fail。 - 返回的是本地临时文件路径,不是网络 URL。需要保存到系统相册时,调用 sud.saveImageToPhotosAlbum。
- 上一次选择完成前,避免重复发起选择请求。
示例代码
从相册选择一张原图,并预览选择结果。
javascript
sud.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album'],
success: (res) => {
const paths = res.tempFilePaths;
if (!paths || paths.length === 0) {
return;
}
sud.previewImage({
current: paths[0],
urls: paths,
fail: (err) => {
console.error('预览失败', err.errCode, err.errMsg);
},
});
},
fail: (err) => {
console.error('选图失败或已取消', err.errCode, err.errMsg);
},
complete: () => {
console.log('选图调用结束');
},
});