【问题标题】:Loading many base64 images from RESTful API从 RESTful API 加载许多 base64 图像
【发布时间】:2017-01-06 08:07:55
【问题描述】:

背景信息:

我有一个人表,其中包含人的图像。图像以 base64 编码(限制为 128 x 128)。因此,您可以通过 API 进行调用,该调用将返回所有人员数据。可能有 10 条记录或 1000 条记录(分页是一种选择)。对于响应中的每个 base64 字符串,大小大约为 40k 字节。因此,如果您加载,假设 100 条记录,数据包大小如果相当大,考虑到每个人记录返回的附加数据。

问题:

在 json 响应中返回 base64 编码的图像是否被认为是最佳做法,还是应该使用 URL 链接?

抱歉,如果这是重新发布,但我确实查看了类似问题部分,但找不到任何回答我问题的内容。

非常感谢!

【问题讨论】:

  • 最好的做法是在 json 响应中返回 base64 编码的图像,还是应该使用 URL 链接? 当然最好的做法是发送图片 URL 而不是 base64 编码的图片
  • @Div 感谢您的回复。应该很可能以可以给出差异(优点/缺点)的方式来表达它。
  • 好的,这就是为什么我没有发布答案,无论如何感谢您的建议。

标签: c# json asp.net-mvc rest encoding


【解决方案1】:

最好将人的图像作为单独的资源处理,并为其提供“自己的”URL。在一个人的 JSON 数据中,这个 URL 被嵌入为一个属性,比如

{
   id: "personId",
   imageUri: "http://..../profile.jpg"
}

优点

  • 用于人员数据查询结果的 JSON 更加紧凑
  • 可以在没有 Base64 开销的情况下传输二进制图像数据

  • 浏览器可以缓存图片

缺点

  • 要获取完整的人员数据,需要两个请求。一个用于人员的元数据,一个用于图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多