我无法通过https加载任何图片。我正在使用React Native 0.18,并且实现非常简单,例如在亚马逊使用图像:
会工作:
<Image style={styles.avatar} source={{uri: "http://ecx.images-amazon.com/images/I/71JxCVQ5ozL.jpg"}} />
无效:
<Image style={styles.avatar} source={{uri: "https://images-na.ssl-images-amazon.com/images/I/41KoE8etwlL.jpg"}} />
有没有人见过这个?
感谢您的帮助。
答案 0 :(得分:0)
有类似的问题。我的是由于某些网站使用的SSL / TSL版本以及较旧的Android OS(TLS v1.2)的问题。来自特定站点的图像将显示在模拟器上,但不会显示在实际的Android设备上。
我使用Image的onError方法记录实际错误。请注意,如果您使用Web调试器,则不会看到此错误。
onError={e => {
console.log(e);
}}
查看了在Android调试桥(ADB)上记录的实际错误,该错误是:
“错误:javax.net.ssl.SSLProtocolException:SSL握手已中止:”
显然这是旧版Android操作系统存在的问题。
我点击了链接here,以解决ssl的问题。现在可以正常运行
请注意,对于某些版本的React Native,Image组件的onError方法不会在android设备上触发。您可以使用here
中的polyfill“ react-native-android-image-polyfill”