HarmonyOS 鸿蒙Next 相册选的图片 用fs读不到信息 报错13900002
HarmonyOS 鸿蒙Next 相册选的图片 用fs读不到信息 报错13900002
相册选的图片返回的路径 用ohos.file.fs读不到信息 报错13900002 路径地址 file://media/Photo/4/IMG_1715657943_001/IMG_20240514_113723.jpg 选择图片
13900002错误是"没有这个文件或目录"
参考以下代码
async getFileInfo(filePathString: string) {
try {
let uri = fileUri.getUriFromPath(filePathString)
let fileUriObject = new fileUri.FileUri(uri);
let filename = fileUriObject.name
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(this.context);
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
// 配置查询条件,使用PhotoViewPicker选择图片返回的uri进行查询
predicates.equalTo('uri', filePathString)
let fetchOption: photoAccessHelper.FetchOptions = {
fetchColumns: [],
predicates: predicates
};
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOption)
// 得到uri对应的PhotoAsset对象,读取文件的部分信息
const asset: photoAccessHelper.PhotoAsset = await fetchResult.getFirstObject();
let logString = `filename:${filename} fileSize:${asset.get(photoAccessHelper.PhotoKeys.SIZE)}`
console.log(logString)
let resFile = fs.openSync(filePathString, fs.OpenMode.READ_ONLY)
console.log('文件信息:' + 'fd:' + resFile.fd + '; ' + 'path:' + resFile.path + '; ' + 'name:' + resFile.name);
} catch (e) {
console.error(e)
}
}
更多关于HarmonyOS 鸿蒙Next 相册选的图片 用fs读不到信息 报错13900002的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对您提到的HarmonyOS 鸿蒙Next系统中,相册选中的图片使用文件系统(fs)读取时遇到报错13900002的问题,这通常是由于权限管理或文件系统访问路径不正确导致的。
在HarmonyOS中,应用访问相册中的图片需要获得相应的权限。如果权限未正确授予,即使图片被选中,应用也无法通过文件系统正常访问。此外,文件系统的路径错误或图片文件被移动、删除也会导致读取失败。
报错13900002可能是一个系统特定的错误码,指示访问被拒绝或文件不存在。解决这类问题通常需要:
- 检查权限:确保应用已获得访问相册和文件系统的必要权限。
- 验证路径:确认读取图片时使用的路径是否正确,包括路径的格式和指向的文件是否确实存在。
- 错误处理:增加错误处理逻辑,以便在读取失败时能够获取更多错误信息。
如果以上步骤无法解决问题,可能是由于系统bug或特定环境下的配置问题。此时,您可以尝试更新系统或应用至最新版本,或查阅HarmonyOS的官方文档以获取更多关于文件系统访问和权限管理的信息。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html