HarmonyOS 文件管理fs接口定位定界指导

const document = new picker.DocumentSaveOptions();
document.pickerMode = picker.DocumentPickerMode.DOWNLOAD;
let result = await new picker.DocumentViewPicker().save(document);
for (const dir of result) {
  let filepath = dir + "/logo.zip";
  log("writeFile", filepath, ab.byteLength)
  let file = await fs.open(filepath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE | fs.OpenMode.TRUNC)
  await fs.write(file.fd, ab).finally(() => fs.close(file))
}

打印出了

writeFile file://docs/storage/Users/currentUser/Download/xxx/xxx.png 1544648

随后写入文件报错

{"code":13900001}

尝试在SaveButton和DownloadFileButton的onClick回调中写入都报这个错误。

HarmonyOS
2025-01-09 18:07:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

保存沙箱下文件到公共目录参考示例:

writeFile file:{
  let documentSaveOptions = new picker.DocumentSaveOptions();
  documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD
  documentSaveOptions.newFileNames = ['hilog.zip'];
  let documentPicker = new picker.DocumentViewPicker(context);
  documentPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => {
    let srcPath = getContext().resourceDir + '/hilog.zip';
    let uriString = new fileUri.FileUri(documentSaveResult[0])
    let dstPath = uriString.path + "/hilog.zip";
    fs.copyFileSync(srcPath, dstPath);
    console.info('DocumentViewPicker.save successfully, documentSaveResult uri: ' + JSON.stringify(documentSaveResult));
  }).catch((err: BusinessError) => {
    console.error('DocumentViewPicker.save failed with err: ' + JSON.stringify(err));
  });
}
分享
微博
QQ
微信
回复
2025-01-09 19:45:37
相关问题
Web加载失败问题定位定界指导
347浏览 • 1回复 待解决
DFX-crash定位定界工具
925浏览 • 1回复 待解决
fs.unlink接口无法删除文件
2237浏览 • 1回复 待解决
加解密问题的定位指导
751浏览 • 1回复 待解决
应用性能问题定位和优化指导
2778浏览 • 1回复 待解决
HarmonyOS fs读取本地文件
558浏览 • 1回复 待解决
HarmonyOS fs模块读取文件的问题
932浏览 • 1回复 待解决
如何定位musl libc接口使用问题
635浏览 • 0回复 待解决
HarmonyOS react-native-fs依赖缺少cpp文件
278浏览 • 1回复 待解决
如何解决定位接口调用问题
679浏览 • 1回复 待解决
HarmonyOS fs中获取文件扩展名的方式
576浏览 • 1回复 待解决