点击同意返回的是-3006,也没有给授权的路径。
async saveImagePath(path:string) {
console.info('ShowAssetsCreationDialogDemo.');
//文件不存在
if(!fileIo.accessSync(path)){
return;
}
let context = getContext(this);
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
try {
// 获取需要保存到媒体库的位于应用沙箱的图片/视频uri
let srcFileUris: Array<string> = [
path // 实际场景请使用真实的uri
];
let photoCreationConfigs: Array<photoAccessHelper.PhotoCreationConfig> = [
{ // 可选
fileNameExtension: 'jpg',
photoType: photoAccessHelper.PhotoType.IMAGE,
subtype: photoAccessHelper.PhotoSubtype.MOVING_PHOTO,// 可选
}
];
let desFileUris: Array<string> = await phAccessHelper.showAssetsCreationDialog(srcFileUris, photoCreationConfigs);
let file = await fs.open(desFileUris[0],fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
await fs.copy(path,desFileUris[0])
await fs.close(file.fd)
promptAction.showToast({ message: '已保存至相册!' });
} catch (err) {
console.error('showAssetsCreationDialog failed, errCode is ' + err.code + ', errMsg is ' + err.message);
promptAction.showToast({ message: '保存失败,请稍后再试' });
}
}
参考demo: