HarmonyOS 鸿蒙Next 保存本地图片/视频 到相册(Failed to check extension)
HarmonyOS 鸿蒙Next 保存本地图片/视频 到相册(Failed to check extension) 保存本地图片/视频 到相册出现(Failed to check extension),请问怎么处理
SaveButton({
icon: SaveIconStyle.FULL_FILLED,
text: SaveDescription.SAVE
})
.width($r('app.float.dimension_80'))
.height('100%')
.fontSize($r('app.float.dimension_12'))
.iconSize($r('app.float.dimension_22'))
.iconColor($r('app.color.home_third_page_text_color2'))
.fontColor($r('app.color.home_third_page_text_color2'))
.backgroundColor(Color.White)
.layoutDirection(SecurityComponentLayoutDirection.VERTICAL)
.onClick((event: ClickEvent, result: SaveButtonOnClickResult) => {
if (result == SaveButtonOnClickResult.SUCCESS) {
let params: Record<string, string> = {
'currentIndex': this.currentIndex.toString(),
'controlType': LocalFileControl.FILE_SAVE
};
EmitterUtil.emitEvent(EmitterUtil.HOME_THIRD_PAGE_FILE_CONTROL, params);
}
});
static async saveLocalPhotoAlbum(context: Context, url: string, fileType: string) {
try {
// 使用 fs 模块读取本地文件数据
const localFile = await fs.open('file://' + url, fs.OpenMode.READ_WRITE);
const mFileBuffer = new ArrayBuffer(localFile.fd);
// 获取相册路径
let helper = photoAccessHelper.getPhotoAccessHelper(context);
let mPhotoType = photoAccessHelper.PhotoType.VIDEO;
if (fileType != null &&
(fileType == ImageTypeUtil.JPG ||
fileType == ImageTypeUtil.JPEG ||
fileType == ImageTypeUtil.PNG ||
fileType == ImageTypeUtil.IMAGE_JPEG)) {
mPhotoType = photoAccessHelper.PhotoType.IMAGE;
}
let uri = await helper.createAsset(mPhotoType, fileType);
let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
// 写入文件
await fs.write(file.fd, mFileBuffer);
// 关闭文件
await fs.close(file.fd);
ToastUtils.showToast($r('app.string.toast_home_content2'));
} catch (error) {
console.error("error is " + JSON.stringify(error));
ToastUtils.showToast($r('app.string.toast_home_content3'));
}
}
更多关于HarmonyOS 鸿蒙Next 保存本地图片/视频 到相册(Failed to check extension)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
您参考以下文档:
//SaveButton
//添加图片和视频到用户相册中参考
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-image-9-V5
更多关于HarmonyOS 鸿蒙Next 保存本地图片/视频 到相册(Failed to check extension)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对帖子标题“HarmonyOS 鸿蒙Next 保存本地图片/视频 到相册(Failed to check extension)”的问题,这里提供一个可能的解决方案:
在HarmonyOS鸿蒙Next系统中,当你尝试保存图片或视频到相册时遇到“Failed to check extension”错误,这通常意味着系统在检查文件扩展名时遇到了问题。这可能是由于文件没有正确的扩展名,或者系统无法识别该扩展名。
为了解决这个问题,你可以尝试以下方法:
-
确保文件有正确的扩展名:检查你要保存的文件是否拥有正确的图片(如.jpg, .png)或视频(如.mp4, .avi)扩展名。如果扩展名缺失或错误,请手动添加或更正。
-
使用系统提供的API保存文件:鸿蒙系统提供了专门的API用于处理文件保存操作。确保你使用的是这些API,并且按照API文档的要求正确传递参数。
-
检查文件路径和权限:确保你的应用有权限访问和写入存储,并且文件路径是正确的。路径错误或权限不足都可能导致保存失败。
如果上述方法仍然无法解决问题,可能是系统本身的bug或特定环境下的兼容性问题。此时,你可以尝试更新系统到最新版本,或者查看鸿蒙系统的官方文档和社区论坛获取更多信息。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,