前置条件:
环境:
编辑器: HBuilder X4.71-alpha
鸿蒙手机: nova 13
软件版本: 5.0.1.120
步骤:
1、fileSystemManager = uni.getFileSystemManager();
2、先选取图片后获取地址,再用 fileSystemManager.readFileSync读取图片,报错: readFileSync:fail filePath No such file or directory;代码如下:
chooseMedia() {
uni.chooseMedia({
count: 1,
mediaType: ['image'],
sourceType: ['album'],
success: (res) => {
this.tempFilePath = res.tempFiles[0].tempFilePath;
try {
fileSystemManager.readFileSync(res.tempFiles[0].tempFilePath);
} catch(err) {
console.log('readFileSync', err) //
}
},
fail: (err) => {
console.log('chooseMedia', err);
}
})
},
3、错误信息:readFileSync:fail filePath No such file or directory
5 个回复
最佳回复
DCloud_UNI_yuhe
临时的解决方案,可以将下方的 har 包 ,添加到 harmony-configs/libs 之后,重新运行
DCloud_UNI_yuhe
chooseMedia 的实现方式有差异,你使用 chooseImage 试一下
p***@touch-ez.com.cn (作者)
使用chooseImage 选择图片没有问题,返回的链接是(data/storage/el2/base/cache/HBuilder/uni-media/1750227489399_0.png),这个路径是可以readFileSync的,可以正常转换;
但 sourceType: [ 'camera'] 这个问题又出现了。
2025-06-19 10:42
b***@163.com
回复 p***@touch-ez.com.cn: 同样的问题,请问现在解决了吗
2025-09-15 17:36
4***@qq.com - 安卓程序员
同问
uni.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['camera'],
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths),res.tempFiles);
CommonUtil.readFile(res.tempFilePaths[0]).then(res => {
const realNamePhotoBase64 = res as string
changeFace(realNamePhotoBase64)
})
}
});
得到的路径是"file://media/Photo/452/IMG_1753341591_443/IMG_20250724_151811.jpg"
seasonZzz - season
请问有解决方法吗
b***@163.com
请问解决没有,我也是这个问题,我试过了 ios 和安卓,都能读取到,但是鸿蒙使用拍照后就获取不到
DCloud_UNI_yuhe
提供了一下临时解决方案,可以看一下
2025-09-15 17:44