可以使用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}`); }) }
可以使用FilePicker来实现文件保存到本地系统管理,FilePicker对应的官网链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5
问题处理思路:可以先通过picker获取到要选择或者保存文件的公共路径,然后通过fs.copyFile进行文件复制,核心示例代码如下: