使用showAssetsCreationDialog保存图片,弹窗内白框不显示图片,点击保存相册中也没有图片。
项目部分代码:
const imagePath: string = context1.filesDir + '/temp.jpg';
let imageUri = fileUri.getUriFromPath(imagePath)
console.log(`${imageUri}`)
try {
// 获取需要保存到媒体库的位于应用沙箱的图片/视频uri
let srcFileUris: Array<string> = [
imageUri
];
let photoCreationConfigs: Array<photoAccessHelper.PhotoCreationConfig> = [
{
title: 'testimage', // 可选
fileNameExtension: 'jpg',
photoType: photoAccessHelper.PhotoType.IMAGE,
subtype: photoAccessHelper.PhotoSubtype.DEFAULT, // 可选
}
];
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context1);
let dstFileUris: Array<string> = await phAccessHelper.showAssetsCreationDialog(srcFileUris, photoCreationConfigs);
console.info('show Assets Creation Dialog success, data is ' + dstFileUris);
} catch (e) {
console.error(`show Assets Creation Dialog failed`);
let err: BusinessError = e as BusinessError;
console.log(`${err.code}, ${err.message}`);
}
可参考以下示例,总体分两步首先从用户相册选取图片到沙箱,然后再把沙箱中的图片保存到相册,showAssetsCreationDialog这个接口文档上面说用户同意保存后,返回已创建并授予保存权限的uri列表,该列表永久生效。应用可使用该uri写入图片/视频,需要把图片资源写到接口返回的uri中。
示例参考: