加载没有扩展程序的远程图像

时间:2016-01-15 16:00:37

标签: react-native

我尝试加载没有文件扩展名的远程图像。 URL看起来像这样:

http://i.efritin-st.com/73b7a349-9c58-4881-886f-39e7c4cf7c2c/88/66/cropped.webp

我的代码如下:

<Image
  source={{uri: imageUri}}
  style={{width: 60, height: 88}}
/>;

imageUri是上面列出的完整网址。它适用于其他图像,例如http://i.imgur.com/UePbdph.jpg。但是,当我指出没有常规扩展的东西时,不是这样。

或者至少这是我的猜测。还有其他想法吗?例如,不正确的标题或其他内容?

1 个答案:

答案 0 :(得分:1)

您的示例网址实际上有一个扩展名&#34; .webp&#34;。它是WebP图片。 iOS不支持开箱即用的WebP,反应原生也不支持任何支持。如果您控制图像裁剪,最简单的解决方案是将格式更改为JPEG(或任何其他supported format)。

或者,您可以为WebP注册自己的RCTImageDataDecoder实现。这不应该太难。您可以查看RCTGIFImageDecoder的实现,了解它是如何完成的。要创建UIImage,您可以使用iOS-WebP作为示例。