HarmonyOS 鸿蒙Next AtomicServicesWeb 可以保存图片吗

HarmonyOS 鸿蒙Next AtomicServicesWeb 可以保存图片吗

目前华为的H5 AtomicServicesWeb 仅仅支持选择图片上传、以及文件的下载,那么有没有方法可以保存H5中本地通过canvas生成的图片,即保存base64的图片?

cke_682.png


更多关于HarmonyOS 鸿蒙Next AtomicServicesWeb 可以保存图片吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

关于这个问题

1、长期来看我们会通过长按来保存。

2、但是当前我们AtomicServicesWeb的能力还不支持长按来保存。

3、如果你当前需要搞,就需要用arkweb,通过这个方式来保存。(还需要额外申请ACL受限权限保存相册)

demo代码如下:

// base64写图库
private writeBase64ToAsset(src: string): void {
// 截取base64
const data = src.split(',')[1];
const base64helper = new util.Base64Helper();
const buffer = base64helper.decodeSync(data).buffer;
const photoHelper = photoAccessHelper.getPhotoAccessHelper(getContext(this));
// 注意:需要申请ACL受限权限
photoHelper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpeg').then((uri: string) => {
const file = fs.openSync(uri, fs.OpenMode.CREATE|fs.OpenMode.WRITE_ONLY);
fs.writeSync(file.fd, buffer);
fs.closeSync(file);
})
}

更多关于HarmonyOS 鸿蒙Next AtomicServicesWeb 可以保存图片吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next AtomicServicesWeb 框架本身并不直接提供保存图片的功能,但可以通过集成相关服务或模块实现这一需求。AtomicServicesWeb 强调的是服务的原子化和微服务的架构,主要面向开发者提供构建分布式应用的基础服务。

要在AtomicServicesWeb应用中保存图片,开发者需要:

  1. 图片上传接口:在前端实现图片选择并上传至服务器。
  2. 后端服务处理:在后端服务中接收上传的图片数据,并保存到指定的存储位置(如本地文件系统、数据库或云存储)。
  3. 存储权限:确保应用有权限写入存储设备,特别是当图片需要保存到本地时。
  4. 错误处理:处理上传过程中的各种错误,如网络问题、文件大小限制等。

AtomicServicesWeb框架可以与HarmonyOS的分布式文件系统(如分布式数据管理等)结合,实现跨设备的图片存储和管理。开发者需根据具体需求,设计和实现相应的服务模块来完成图片保存功能。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部