HarmonyOS 下载的文件如何在手机文件夹查看

下载的文件在沙箱缓存路径下,如何保存到用户可以访问的本地路径?

HarmonyOS
2024-12-25 15:08:03
1072浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

可以使用FilePicker来实现文件保存到本地系统管理,FilePicker对应的官网链接

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5

问题处理思路:可以先通过picker获取到要选择或者保存文件的公共路径,然后通过fs.copyFile进行文件复制,核心示例代码如下

save(){
  const documentSaveOptions = new picker.DocumentSaveOptions(); // 创建文件管理器保存选项实例
  documentSaveOptions.newFileNames = ["icon.txt"]; // 保存文件名(可选)

  const documentViewPicker = new picker.DocumentViewPicker;
  documentViewPicker.save(documentSaveOptions)
    .then(async (documentSaveResult) => {
      // 获取到到图片或者视频文件的URI后进行文件读取等操作
      let uri = documentSaveResult[0];
      console.info('pub uri:' + uri)
      // 沙箱路径文件
      let sanFile = fs.openSync(sanPath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
      let pubFile = fs.openSync(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
      // 将文件从沙箱路拷贝到公共路径
      fs.copyFileSync(sanFile.fd, pubFile.fd)
    })
    .catch((err:Error) => {
      console.error(`Invoke documentPicker.select failed, message is ${err.message}`); })
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
分享
微博
QQ
微信
回复
2024-12-25 17:58:47


相关问题
HarmonyOS 下载文件到指定文件夹
977浏览 • 1回复 待解决
HarmonyOS 获取手机图片文件夹
1161浏览 • 0回复 待解决
如何打开指定文件夹,选择文件返回
9799浏览 • 1回复 待解决
打包包含ohosTest文件夹和test文件夹
1614浏览 • 1回复 待解决
单个文件夹空间统计
1690浏览 • 1回复 待解决
HarmonyOS rawFile文件夹合并问题
964浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
1111浏览 • 1回复 待解决
ATS如何判断路径是文件夹还是文件
1359浏览 • 1回复 待解决
apache下文件夹没有访问权限
3287浏览 • 0回复 待解决
HarmonyOS 查看手机沙箱文件
1050浏览 • 1回复 待解决