HarmonyOS 鸿蒙Next 文件下载路径相关问题

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 文件下载路径相关问题

我这边在app里下载文件,路径我是这样写的

let newPath = context.cacheDir + ‘/’ + filePath; console.log(“web”, "newPath = " + newPath)

但是context.cacheDir这个路径下载的文件,用户在手机上查看不到对应的文件夹,希望用户在app里下载文件,然后打开手机文件夹可以查看到下载的文件


更多关于HarmonyOS 鸿蒙Next 文件下载路径相关问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
可以使用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}); })

}

更多关于HarmonyOS 鸿蒙Next 文件下载路径相关问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


推荐使用DocumentViewPicker保存用户文件,保存成功后可去对应用户目录查看

关于HarmonyOS 鸿蒙Next文件下载路径相关问题,以下提供直接信息:

在HarmonyOS系统中,文件下载路径通常取决于所使用的应用程序以及用户的个人设置。大多数应用程序默认会将下载的文件保存在系统的“下载”文件夹中,该文件夹路径通常在设备的存储根目录下,路径类似为/storage/emulated/0/Download

对于第三方应用程序,用户可以在应用程序的设置中查看或更改下载路径。例如,在浏览器的设置中,可以找到“下载”或“下载内容”选项,其中包含了下载文件存储位置的设置。

此外,部分应用程序可能会创建自己专属的下载文件夹,这些文件夹通常位于应用的内部存储或外部存储的特定位置。用户可以通过文件管理器或相应的应用程序界面访问这些文件夹。

请注意,HarmonyOS系统的文件存储管理可能因版本更新而有所变化。如果用户在查找下载路径时遇到困难,可以直接在应用程序的帮助文档或设置中查找相关信息。

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

回到顶部