从RESTful API加载许多base64图像

Ric*_*ley 2 c# rest asp.net-mvc encoding json

背景资料:

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

题:

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

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

提前谢谢了!

Ral*_*ing 5

最好将人的形象作为单独的资源来处理,并为其提供“自己的” URL。在一个人的JSON数据中,此URL作为属性嵌入,例如

{
   id: "personId",
   imageUri: "http://..../profile.jpg"
}
Run Code Online (Sandbox Code Playgroud)

优点

  • 用于人员数据查询结果的JSON更加紧凑
  • 无需使用Base64开销即可传输二进制图像数据

  • 浏览器可以缓存图像

缺点

  • 要获取完整的人员数据,必须有两个请求。一种用于个人的元数据,另一种用于图像。