【HarmonyOS NEXT】三方应用如何把图片存到相册 |
您所在的位置:网站首页 › 华为手机推特视频怎么保存到相册 › 【HarmonyOS NEXT】三方应用如何把图片存到相册 |
【关键字】
保存图片 / 相册管理 【问题描述】三方应用如何把图片存到相册 ? 【解决方案】首先保存一个空图片到图库,然后获取空文件路径,再把应用沙箱里的图片复制到空文件中即可。 请参考如下代码: 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 |