HarmonyOS 系统分享文件

使用系统能力分享面板 分享files内的文件,另存为后大小为0

HarmonyOS 系统分享文件 -鸿蒙开发者社区

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

1、点击“另存为”按钮可以在拉起分享面板之前 先将待分享的文件 写入沙箱;这样点击“另存为”按钮就可以正常保存了。

2、存到沙箱的代码可以参考下方的代码:其中exampleImage、exampleVideo分别是使用的图片、视频、pdf测试文件

async aboutToAppear(): Promise<void> {
  // 写入文件
  const context = getContext(this) as common.UIAbilityContext;
  const filesDir = context.filesDir;
  [
  [context.resourceManager.getMediaContentSync($r('app.media.exampleImage')), '/exampleImage.jpg'],
  [context.resourceManager.getMediaContentSync($r('app.media.exampleVideo')), '/exampleVideo.mp4'],
  [context.resourceManager.getMediaContentSync($r('app.media.2')), '/2.pdf']
  ].forEach(item => {
  let file = fs.openSync(filesDir + item[1], fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  let writeLen = fs.writeSync(file.fd, (item[0] as Uint8Array).buffer);
  console.info("write data to file succeed and size is:" + writeLen);
  fs.closeSync(file);
})
}
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS如何使用系统分享图片、文件
519浏览 • 1回复 待解决
应用调用系统分享框失败
419浏览 • 1回复 待解决
分享沙箱文件,应用可分享单个文件
1088浏览 • 1回复 待解决
应用文件分享功能介绍
1238浏览 • 0回复 待解决
HarmonyOS 应用文件分享-读写权限咨询
422浏览 • 1回复 待解决
ArkTS应用文件分享报错,code:16000050
2343浏览 • 1回复 待解决
分享一下你的鸿蒙系统使用感受吧
4265浏览 • 1回复 待解决
HarmonyOS 分享功能如何实现?
224浏览 • 1回复 待解决
getDefaultCellularDataSlotIdSync实战分享
245浏览 • 0回复 待解决