HarmonyOS 鸿蒙Next DocumentViewPicker无法获取文件uri

HarmonyOS 鸿蒙Next DocumentViewPicker无法获取文件uri

关于@ohos.file.picker的DocumentViewPicker

async function example() {
  try {
    let DocumentSelectOptions = new picker.DocumentSelectOptions();
    let documentPicker = new picker.DocumentViewPicker();
    documentPicker.select(DocumentSelectOptions).then((DocumentSelectResult) => {
      console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
    }).catch((err) => {
      console.error('DocumentViewPicker.select failed with err: ' + err);
    });
  } catch (err) {
    console.error('DocumentViewPicker failed with err: ' + err);
  }
}

在真机上运行时,DocumentViewPicker只能正确返回图片文件的uri,选择视频或其他文件一概抛出异常,捕获到的错误码为1003,打印信息如下 DocumentViewPicker.select failed with err: 1003

在模拟器上运行时,由于文件查看器不是“文件管理”,故无法唤起文件选择界面,在模拟器安装13.2.0.301版本的文件管理器后再次尝试,同样无法打开除图片外的文件,获取的uri为no_match,打印信息如下

DocumentViewPicker.select successfully, DocumentSelectResult uri: ["no_match"]


更多关于HarmonyOS 鸿蒙Next DocumentViewPicker无法获取文件uri的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

楼主您好,DocumentViewPicker适用于文件的选择与保存。

cke_231.png

更多关于HarmonyOS 鸿蒙Next DocumentViewPicker无法获取文件uri的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请问楼主,这个问题解决了吗?

楼主您好,想问下您这个问题解决了吗

文档中提到另一种方法:使用startAbilityForResult。

尝试后仍然失败,错误码同样为1003

cke_368.png

在HarmonyOS鸿蒙Next中,DocumentViewPicker无法获取文件URI的原因可能是由于权限配置不当或API使用错误。首先,确保在config.json中正确配置了ohos.permission.READ_MEDIA权限。其次,使用DocumentViewPicker时,应通过startAbilityForResult方法启动文件选择器,并在onAbilityResult回调中处理返回的结果。如果仍然无法获取URI,检查设备是否支持该功能或是否存在系统限制。

回到顶部