我正在尝试从React本机图像组件中的相机拍摄照片后从外部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"/>
答案 0 :(得分:14)
刚出现这个问题,通过在file://
所以,而不是:
<Image source={{uri:'/storage/emulated/0/Pictures/myImage.jpg'}} style={myImageStyle} />
使用:
<Image source={{uri:'file:///storage/emulated/0/Pictures/myImage.jpg'}} style={myImageStyle} />
注意连续3个斜线而不是@Cherniv建议的两个斜杠。
答案 1 :(得分:0)
DSquare是正确的,除非您正在运行IOS。在这种情况下,“ file://”不起作用。
<Image source={{uri:`${Platform.OS === "android" ? 'file://' : ''}/storage/emulated/0/Pictures/myImage.jpg`}} style={myImageStyle} />
第二个问题是,该路径/storage/emulated/0
在IOS上也不存在。
您可以使用react-native-fs
使生活更轻松import RNFS from "react-native-fs";
...
renderPhoto() {
return <Image source={{uri:`${Platform.OS === "android" ? 'file://' : ''}/${RNFS.PicturesDirectoryPath}/myImage.jpg`}} style={myImageStyle} />
}
RNFS.PicturesDirectoryPath
会在Android上转换为/storage/emulated/0/Pictures
。
不再头痛,不再怀疑在哪个设备/平台上哪个路径。
答案 2 :(得分:0)
我们应该获得library(dplyr)
library(tidyr)
library(ggplot2)
#Code
DF %>% pivot_longer(-MU)%>%
ggplot(aes(x=MU,y=value,group=name,color=name)) +
geom_point()+
geom_line()
权限