HarmonyOS 鸿蒙Next picker.DocumentViewPicker 什么破api
HarmonyOS 鸿蒙Next picker.DocumentViewPicker 什么破api
想保存应用内的文件吓到对应的文件夹内,用户都能看得到,官方给了picker.DocumentViewPicker的demo, 就一个得到uri就完了, 但是如何保存呢?返回 code is 13900001, message is Operation not permitted
3 回复
楼主解决了吗?遇到了同样的问题。
可以模仿下面代码实现 源文件路径和目标路径换一换就可以
/**
* 保存文件到沙箱
* [@param](/user/param) url 媒体文件的file路径
*/
static async saveFile(url:string){
// 1.创建文件缓存目录
const catchDir = getContext().getApplicationContext().cacheDir
let fileDir = catchDir + '/save'
if (!fs.accessSync(fileDir)) {
fs.mkdirSync(fileDir)
}
// 2.读取文件 => buffer
let uriFile = fs.openSync(url, fs.OpenMode.READ_ONLY)
let buffer = new ArrayBuffer(4096 * 512)
let readLen = fs.readSync(uriFile.fd, buffer)
fs.closeSync(uriFile)
// 3. 创建发送文件,将buffer 写入
const filePath = fileDir + `/${Date.now()}.png`
let file = await fileIo.open(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE)
await fileIo.write(file.fd, buffer)
return filePath
}
HarmonyOS(鸿蒙)的picker.DocumentViewPicker
是用于文件选择的一个组件,它允许用户从文件系统中选择文件或文档。如果你在使用这个API时遇到了问题,可能是因为以下几个原因:
- API使用不当:确保你按照官方文档正确配置了picker的属性和事件监听。
- 权限问题:检查你的应用是否已经请求并获得了必要的存储权限。
- 兼容性问题:确认你的鸿蒙系统版本是否支持该API,以及是否有相关的已知问题或bug。
如果问题依旧没法解决请加我微信,我的微信是itying888。