反应自然<;图像>;在android中未从SD卡加载图像

反应自然<;图像>;在android中未从SD卡加载图像,android,react-native,Android,React Native,我尝试在React native image组件中从相机拍照后从外部SD卡加载图像,如下所示,但在android中无法渲染。我甚至检查了那个位置是否有图像丢失,但这不是问题所在。但在iOS中,从相机拍照后从位置加载图像效果很好 <Image source={{uri:'/storage/emulated/0/Pictures/image-0ea0d714-9469-432b-8869-b6637be2be10.jpg'}} style={{height:200, width:200}}

我尝试在React native image组件中从相机拍照后从外部SD卡加载图像,如下所示,但在android中无法渲染。我甚至检查了那个位置是否有图像丢失,但这不是问题所在。但在iOS中,从相机拍照后从位置加载图像效果很好

 <Image source={{uri:'/storage/emulated/0/Pictures/image-0ea0d714-9469-432b-8869-b6637be2be10.jpg'}} style={{height:200, width:200}} />

这是我在AndroidManifest.xml中的权限列表

<!-- For Image picker start -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

刚刚出现了这个问题,通过在文件路径前面加上
file://

因此,不是:

 <Image source={{uri:'/storage/emulated/0/Pictures/myImage.jpg'}} style={myImageStyle} />

使用:



请注意,3个连续的斜杠,而不是@Cherniv建议的两个斜杠。

DSquare是正确的,除非您运行的是IOS。在这种情况下,“file://”不起作用

<Image source={{uri:`${Platform.OS === "android" ? 'file://' : ''}/storage/emulated/0/Pictures/myImage.jpg`}} style={myImageStyle} />
RNFS.PicturesDirectoryPath
在Android上转换为
/storage/simulated/0/Pictures


不要再头疼了,也不要再想知道哪个设备/平台上的路径是什么。

我们应该获得
的“读取外部存储”
权限


您是否尝试将
文件:/
附加到
uri
?比如:
source={{uri:'file://storage/...
完全没有。我已经删除了它instead@BlackTiger:您找到此问题的解决方案了吗?如果您找到了,请与他人分享。这将对许多人有所帮助。现在还没有。我还没有机会查看。我正在使用主题代码,但它无法按需要工作:。请帮助了解问题所在。请lem在我的代码里和你一样@David
<Image source={{uri:`${Platform.OS === "android" ? 'file://' : ''}/storage/emulated/0/Pictures/myImage.jpg`}} style={myImageStyle} />
import RNFS from "react-native-fs";
...
renderPhoto() {
    return <Image source={{uri:`${Platform.OS === "android" ? 'file://' : ''}/${RNFS.PicturesDirectoryPath}/myImage.jpg`}} style={myImageStyle} />
}