HarmonyOS 鸿蒙Next picker.DocumentViewPicker 什么破api

发布于 1周前 作者 phonegap100 最后一次编辑是 5天前 来自 鸿蒙OS

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时遇到了问题,可能是因为以下几个原因:

  1. API使用不当:确保你按照官方文档正确配置了picker的属性和事件监听。
  2. 权限问题:检查你的应用是否已经请求并获得了必要的存储权限。
  3. 兼容性问题:确认你的鸿蒙系统版本是否支持该API,以及是否有相关的已知问题或bug。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部