`react-native-camera` returns a data.uri 但无法访问图像(没有这样的文件或目录)
`react-native-camera` returns a data.uri but image cannot be accessed (no such file or directory)
如有任何帮助,我将不胜感激。
我正在使用 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 保存文件,我得到 "No such file or directory"。
我已经在模拟器和物理设备上进行了测试 - 同样的问题。
好像和WRITE_EXTERNAL_STORAGE
权限没有关系,因为我授予权限后,出现了ENOENT
错误
我在phone上查看了应用程序的缓存,没有这些文件,是否意味着它没有写入?如果 RNCamera 有问题,我认为 URI 不会成功返回。
"react-native": "0.57.1",
"react-native-camera": "^1.3.0",
如有任何帮助,我们将不胜感激!
我遇到了同样的问题,最后用这个CameraRoll.saveToCameraRoll(data.uri)
。
您应该删除文件的任何 file://
前缀,例如:
const uri = data.uri.startsWith('file://')
? data.uri.substr('file://'.length)
: 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 保存文件,我得到 "No such file or directory"。
我已经在模拟器和物理设备上进行了测试 - 同样的问题。
好像和WRITE_EXTERNAL_STORAGE
权限没有关系,因为我授予权限后,出现了ENOENT
错误
我在phone上查看了应用程序的缓存,没有这些文件,是否意味着它没有写入?如果 RNCamera 有问题,我认为 URI 不会成功返回。
"react-native": "0.57.1",
"react-native-camera": "^1.3.0",
如有任何帮助,我们将不胜感激!
我遇到了同样的问题,最后用这个CameraRoll.saveToCameraRoll(data.uri)
。
您应该删除文件的任何 file://
前缀,例如:
const uri = data.uri.startsWith('file://')
? data.uri.substr('file://'.length)
: data.uri;