HarmonyOS鸿蒙Next中DocumentScanner的originUris有什么要求
HarmonyOS鸿蒙Next中DocumentScanner的originUris有什么要求
希望传入默认图片路径,直接跳转编辑页面,但是报错:1008601001。以下路径都试过
file://data/storage/el2/base/cache/ocr_images/1749453364936/cut/1749453372207.jpg
data/storage/el2/base/cache/ocr_images/1749453364936/cut/1749453372207.jpg
/data/storage/el2/base/cache/ocr_images/1749453364936/cut/1749453372207.jpg
更多关于HarmonyOS鸿蒙Next中DocumentScanner的originUris有什么要求的实战教程也可以访问 https://www.itying.com/category-93-b0.html
开发者你好,问下第一个路径是uri吗?还有咱们能不能补充一下日志,这边好更好为你分析下。
更多关于HarmonyOS鸿蒙Next中DocumentScanner的originUris有什么要求的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,DocumentScanner的originUris参数要求如下:必须为有效的URI数组,支持文件协议(file://)或内容提供器协议(content://)。URI指向的文档需为系统可访问的本地文件或内容提供器共享的资源。URI需包含完整路径及文件扩展名,且文件格式需符合DocumentScanner支持的格式(如PDF、图片等)。无效或无权限访问的URI会导致扫描失败。多个URI需以数组形式传入。
在HarmonyOS Next中,DocumentScanner的originUris对URI格式有严格要求。您遇到的1008601001错误通常是由于URI格式不符合要求导致的。正确的URI需要满足以下条件:
- 必须使用content://协议而非file://协议
- 需要先通过FilePicker获取文件URI权限
- 路径必须是通过媒体库API获取的有效URI
建议改用以下方式获取有效URI:
let photoSelectOptions = new picker.PhotoSelectOptions();
photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
let photoPicker = new picker.PhotoViewPicker();
photoPicker.select(photoSelectOptions).then((photoSelectResult) => {
// 使用返回的URI
let uri = photoSelectResult.photoUris[0];
}).catch((err) => {
console.error(`DocumentScanner error: ${err.code}, message: ${err.message}`);
});
直接使用文件路径或file://URI在HarmonyOS Next的安全机制下是不被允许的。