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

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

HarmonyOS
1天前
浏览
收藏 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}`); })
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 获取手机图片文件夹
288浏览 • 0回复 待解决
如何打开指定文件夹,选择文件返回
8751浏览 • 1回复 待解决
打包包含ohosTest文件夹和test文件夹
456浏览 • 1回复 待解决
单个文件夹空间统计
870浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
363浏览 • 1回复 待解决
apache下文件夹没有访问权限
2383浏览 • 0回复 待解决
HarmonyOS rawFile文件夹合并问题
49浏览 • 1回复 待解决
ATS如何判断路径是文件夹还是文件
579浏览 • 1回复 待解决
HarmonyOS 查看手机沙箱文件
32浏览 • 1回复 待解决
鸿蒙是否有对文件夹加密接口?
501浏览 • 2回复 待解决
HarmonyOS 图片文件夹获取封面图coverUri
304浏览 • 1回复 待解决
有谁知道如何获取文件夹大小
1303浏览 • 1回复 待解决