【发布时间】:2017-06-29 20:46:35
【问题描述】:
我正在尝试通过 REST 调用在数据库中的动态(react-native-elements)列表中显示图标,该调用将图标作为 base64 编码字符串(即此处使用 jHipster/swagger 完成)。
它必须适用于 iOS 和 Android。
我认为这应该是一个很常见的用例,但结果有点挑战性......
到目前为止我尝试了什么:
- 使用
static addImageFromBase64(base64ImageData, success, failure)see here- 仅适用于 iOS (
@platform ios)
- 仅适用于 iOS (
- 使用 'data:' uri 方案,如本例(如讨论 here):
var base64Icon = 'data:image/png;base64,iVBORw0KGgoAAAANS ...
<Image source={{uri: base64Icon}} ... />
- PR mentioned in that discussion 稍后关闭,但不知何故,似乎仍然引入了“数据:”方案,请参阅RCTConvert.m,尽管它没有记录在Image
- 但它似乎只针对 iOS 实现(仅在 .m 文件中)
- 看看Image for Android,似乎渲染是委托给本机端的,这可能是它没有在 Android 上实现的原因(至少它在 Android 中不适合我)。
那么有什么好的方法可以将 base64 图像字符串导入 Android react-native 应用程序吗?
或者是否有一个好的做法或库可以以完全不同的方式解决这个问题(通过 REST API 从数据库动态获取图标到 react-native 应用程序)?
【问题讨论】:
-
在 Android 上使用
uri的 base64 编码图像有什么问题?当我在我的设备上测试它时它可以工作。 -
两件事,看看this线程是否可以在加载更大的图片时为您解决问题(我们有一个类似的相同用例)。您是否为图片的样式添加了高度/宽度?
-
是否适用于 npm run web
标签: image react-native base64