HarmonyOS鸿蒙Next中documentViewPicker.save问题

HarmonyOS鸿蒙Next中documentViewPicker.save问题

  1. const documentSaveOptions = new picker.DocumentSaveOptions();
  2. documentSaveOptions.newFileNames = [“123.txt”];
  3. let URI = null;
  4. const documentViewPicker = new picker.DocumentViewPicker();
  5. documentViewPicker.save(documentSaveOptions).then((documentSaveResult) => {
  6. URI = documentSaveResult[0];
  7. console.info(‘documentViewPicker.save to file succeed and URI is:’ + URI);
  8. }).catch((err) => {
  9. console.error(Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message});
  10. })

代码如上,真机测试,nova9 ,显示保存文件成功,并且返回URI:datashare:///media/file/22941

但是,使用真机的文件管理器查看,并没有123.txt文件,

并且使用documentViewPicker.select()也找不到保存的123.txt文件。

应用的权限已申请ohos.permission.READ_MEDIA和ohos.permission.WRITE_MEDIA

请问哪位大侠帮助分析分析原因,


更多关于HarmonyOS鸿蒙Next中documentViewPicker.save问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

借贴,我有一个问题,documentViewPicker.select后,可以通过uri读取文件的数据,但是怎么获取文件名和文件类型呢

更多关于HarmonyOS鸿蒙Next中documentViewPicker.save问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


那个返回的uri是你可以进行保存的uri,并不是给你真的保存了一个文件,可以通过fs.open打开那个uri,然后设置读写和创建文件模式,就可以对文件进行创建和保存了,类似于这种。

let file=fs.openSync(URI.toString(), fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
let writeLen = fs.writeSync(file.fd, "Save Data.");
fs.closeSync(file)

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

谢了!,正如您所言,

版主能否给个解决办法??

在HarmonyOS鸿蒙Next中,documentViewPicker.save方法用于将用户选择的文件保存到指定路径。该方法通常与documentViewPicker组件一起使用,允许用户从设备中选择文件并保存到应用指定的目录中。documentViewPicker.save方法的具体实现依赖于鸿蒙系统的文件管理机制,确保文件保存的路径和权限符合系统要求。在使用该方法时,开发者需要确保应用具有相应的文件读写权限,并且目标路径是有效的。如果保存过程中出现错误,系统会返回相应的错误码,开发者可以根据错误码进行问题排查。

在HarmonyOS鸿蒙Next中,documentViewPicker.save方法用于将文档保存到指定路径。使用时需确保目标路径有效且应用具有相应权限。常见问题包括路径无效、权限不足或文件格式不支持。建议检查路径字符串、申请存储权限,并确保文件格式与系统兼容。若问题持续,可查阅官方文档或社区论坛获取更多帮助。

回到顶部