android - `react-native-camera` 返回 data.uri 但无法访问图像(没有这样的文件或目录)
问题描述
我将不胜感激这方面的任何帮助。我正在使用react-native-camera,当我获取使用takePictureAsync(
) 方法拍摄的图像的 URI 时,我无法访问该图像。
我拍了照片并导航到下一个屏幕,将图像数据作为参数传递:
const data = await this.camera.takePictureAsync(options);
console.log(data);
this.props.navigation.navigate('FFV', {
postItem: data.uri
});
在下一个屏幕 (FFV) 中,我正在将照片加载到<Image/>
中,如果我传递图像的base64则它可以工作,但如果我只传递URI则不起作用。
<Image style={styles.imagePreview}
source={{ isStatic:true, uri: postItem }}
resizeMode="contain"
/>
图像不渲染,如果我尝试使用 CameraRoll 保存文件,我会得到“没有这样的文件或目录”。
我已经在模拟器和物理设备上进行了测试——同样的问题。它似乎与WRITE_EXTERNAL_STORAGE
权限无关,因为在我授予权限后,出现ENOENT
错误。
我在手机上查看了应用程序的缓存,它没有那些文件,是不是意味着它没有写它?如果 RNCamera 有问题,我会认为 URI 不会成功返回。
"react-native": "0.57.1",
"react-native-camera": "^1.3.0",
任何帮助将非常感激!
解决方案
我遇到了同样的问题并最终使用了这个CameraRoll.saveToCameraRoll(data.uri)
。
推荐阅读
- java - 如何重置 JTable 列箭头
- javascript - 为什么所有网络播放器都不支持 akamaid m3u8 链接
- html - 无法显示与伪类混合的背景图像
- arch - 由于 makepkg 错误,Pacaur 安装失败
- javascript - scrollTo(target, options) 在移动设备中不起作用。(机车卷轴)
- reactjs - Flatlist 无法正确呈现我的产品
- python - Webdriver 在页面上找不到元素
- java - Netbeans IDE 在创建新的 ActionTimer、ChangeListener 后“停止工作”
- filtering - Freemarker Netsuite Advance PDF 中的 Netsted 分组
- android - Android webview - 在flutter应用程序中显示网站弹出窗口时的放置问题