HarmonyOS鸿蒙Next中使用showAssetsCreationDialog来保存图片或视频到相册
HarmonyOS鸿蒙Next中使用showAssetsCreationDialog来保存图片或视频到相册
场景:批量下载图片或视频,并在下载完成后保存到相册中。
方案:在开始下载前,就调用showAssetsCreationDialog,在用户授予权限后再开始下载,下载完成一个文件就存一个文件。
问题:在开始下载前,由于本地源文件根本不存在,所以本地的uri只是一个标记下载文件存储地址,此时调用showAssetsCreationDialog就无法返回正确的uri。
若在下载完成后再去存储,若要实现下载一个就存一个文件的话,就需要每个文件都要弹窗,即一堆弹窗。
若在全部下载完成后再去存储,这又不符合设计逻辑。
请问有什么好的方案或者api可以帮忙解决这个问题吗?
更多关于HarmonyOS鸿蒙Next中使用showAssetsCreationDialog来保存图片或视频到相册的实战教程也可以访问 https://www.itying.com/category-93-b0.html
下载成功以后将图片保存到cache目录下,然后保存一下图片的fileUri,然后全部下载完成拿着uri的集合去调用下面的方法,参考:
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/medialibrary/photoAccessHelper-savebutton.md#%E5%BC%B9%E7%AA%97%E6%8E%88%E6%9D%83%E4%BF%9D%E5%AD%98
更多关于HarmonyOS鸿蒙Next中使用showAssetsCreationDialog来保存图片或视频到相册的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,showAssetsCreationDialog是一个用于保存图片或视频到相册的API。该API允许开发者通过系统提供的对话框,将媒体文件保存到设备的相册中。使用showAssetsCreationDialog时,开发者需要指定要保存的文件路径以及文件的MIME类型。系统会根据提供的MIME类型,自动将文件归类为图片或视频,并将其保存到相应的相册目录中。
具体使用时,开发者需要调用showAssetsCreationDialog方法,并传入包含文件路径和MIME类型的参数。系统会弹出对话框,用户确认后,文件将被保存到相册。该API简化了开发者处理媒体文件保存的流程,无需手动处理文件系统操作或权限请求。
示例代码如下:
import featureAbility from '@ohos.ability.featureAbility';
let filePath = 'path/to/your/file.jpg';
let mimeType = 'image/jpeg';
featureAbility.showAssetsCreationDialog(filePath, mimeType, (err) => {
if (err) {
console.error('Failed to save file:', err);
} else {
console.log('File saved successfully');
}
});
该方法适用于需要将用户生成或下载的图片、视频等媒体文件保存到相册的场景。通过使用showAssetsCreationDialog,开发者可以确保文件以系统标准的方式保存,并且用户能够通过相册应用轻松访问这些文件。


