【HarmonyOS NEXT】三方应用如何把图片存到相册

您所在的位置:网站首页 华为手机推特视频怎么保存到相册 【HarmonyOS NEXT】三方应用如何把图片存到相册

【HarmonyOS NEXT】三方应用如何把图片存到相册

2024-07-06 05:29| 来源: 网络整理| 查看: 265

【关键字】

保存图片 / 相册管理

【问题描述】

三方应用如何把图片存到相册 ?

【解决方案】

首先保存一个空图片到图库,然后获取空文件路径,再把应用沙箱里的图片复制到空文件中即可。

请参考如下代码:

let uris try { const photoSaveOptions = new picker.PhotoSaveOptions(); // 创建文件管理器保存选项实例 photoSaveOptions.newFileNames = ["PhotoViewPicker01.png"]; // 保存文件名(可选),方括号里的文件名自定义,每次不能重复,设备里已有这个文件的话,名字就需要改个不一样的,不然接口会报错 const photoViewPicker = new picker.PhotoViewPicker(); try { let photoSaveResult = await photoViewPicker.save(photoSaveOptions); if (photoSaveResult != undefined) { uris = photoSaveResult; console.info('photoViewPicker.save to file succeed and uris are:' + uris); } } catch (error) { let err: BusinessError = error as BusinessError; console.error(`[picker] Invoke photoViewPicker.save failed, code is ${err.code}, message is ${err.message}`); } } catch (error) { let err: BusinessError = error as BusinessError; console.info("[picker] photoViewPickerSave error = " + JSON.stringify(err)); } try{ let path = getContext().filesDir+"/test.jpg" //需要保存的图片的路径 let dir = uris[0] let file = fs.openSync(path) let file2 = fs.openSync(dir,fs.OpenMode.READ_WRITE) fs.copyFileSync(file.fd,file2.fd) fs.closeSync(file) fs.closeSync(file2) }catch (error) { let err: BusinessError = error as BusinessError; console.error(`[picker] Invoke photoViewPicker.save failed, code is ${err.code}, message is ${err.message}`); }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3