HarmonyOS 鸿蒙Next 如何把图片保存到文件管理器(API12)
HarmonyOS 鸿蒙Next 如何把图片保存到文件管理器(API12) 在API9中可以使用如下方法,把图片保存到文件管理器中,
但是API12中废弃了PhotoSaveOptions这个方法。
请问有什么办法解决这个问题吗?
saveImage() {
//文件保存路径
let uri = '';
try {
let PhotoSaveOptions = new picker.PhotoSaveOptions();
PhotoSaveOptions.newFileNames = ['test.png']; //保存图片默认名称
let photoPicker = new picker.PhotoViewPicker();
//调起系统的图片保存功能
photoPicker.save(PhotoSaveOptions).then((PhotoSaveResult) => {
uri = PhotoSaveResult[0];
//获取图片的base64字符串
let imageStr = this.context.toDataURL().split(',')[1];
//打开文件
let file = fs.openSync(uri, fs.OpenMode.READ_WRITE);
//base64字符串转成buffer
const decodeBuffer = buffer.from(imageStr, 'base64').buffer;
//写入文件
fs.writeSync(file.fd, decodeBuffer);
//关闭文件
fs.closeSync(file);
}).catch((err: Error) => {
console.error(err + '');
})
} catch (e) {
console.error(e);
}
}
更多关于HarmonyOS 鸿蒙Next 如何把图片保存到文件管理器(API12)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
可以使用SaveButtonOptions,替代用于指定保存按钮的图标、文本等指定元素。
更多关于HarmonyOS 鸿蒙Next 如何把图片保存到文件管理器(API12)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
用它可以实现保存图片到相册,请问我想保存图片到指定的文件夹这个可以实现吗?
老哥~这个例子是保存到相册的~我想保存到指定文件夹中(系统文件夹中),
在HarmonyOS鸿蒙Next(API 12)中,保存图片到文件管理器可以通过以下步骤实现:
首先,确保你的应用具有存储访问权限。在config.json
文件中添加必要的权限声明,例如:
"module": {
"package": "your.package.name",
"reqPermissions": [
"ohos.permission.READ_EXTERNAL_STORAGE",
"ohos.permission.WRITE_EXTERNAL_STORAGE"
]
}
然后,在代码中执行保存操作。以下是一个示例代码,展示如何将Bitmap对象保存为图片文件:
import ohos.aafwk.ability.AbilityContext;
import ohos.media.image.Bitmap;
import ohos.media.image.BitmapFactory;
import ohos.multimodalinput.event.TouchEvent;
import ohos.utils.file.File;
import ohos.utils.file.FileOutputStream;
import ohos.utils.file.IOException;
// 假设你已经有一个Bitmap对象 bitmap
String filePath = "/storage/emulated/0/DCIM/Camera/saved_image.png";
File file = new File(filePath);
try (FileOutputStream fos = new FileOutputStream(file)) {
if (bitmap != null) {
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
}
} catch (IOException e) {
e.printStackTrace();
}
注意:
- 上述代码中的文件路径
/storage/emulated/0/DCIM/Camera/
是公共图库目录的一个示例,实际使用中可能需要根据应用需求调整路径。 - 确保应用具有对目标目录的写权限。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html