使用 webApi 2 处理图像

Handle Images using webApi 2

我正在为我的应用程序使用 webApi 2。我有画廊,我需要一种方式来显示我的图像。我搜索了很多,发现了一些像这样的文章:

http://www.dotnetcurry.com/aspnet/1120/aspnet-webapi-binary-contents-images
https://jamessdixon.wordpress.com/2013/10/01/handling-images-in-webapi/

但他们似乎没有有效的方法。

所以我决定再问一次这个问题。我如何处理网络 api 2 中的图片?

最好的方法是什么?

如果没有更多关于您的用例的信息,很难知道什么是最好的方法。通常会使用 formatter。然后您的客户会发出两个请求,/api/Images 以获取所有图像,然后为每个图像创建适当的视图(HTML 是)。需要接受扩展的路由和 return 正确内容类型和二进制数据的格式化程序。您的控制器可以执行所有二进制流,但格式化程序可以提供更好的灵活性。

至于BSON,我没用过BSON。我们的 API 有很多不同的客户,因此 JSON 对于我们的 DTO 来说是通用的。对于图像,我们总是使用纯二进制流的响应主体。这样就没有每个​​客户端必须执行的自定义解析。我们可以通过使用适当的内容类型、内容长度等来完全依赖 HTTP 规范。这也允许范围请求,因此我们可以使用 resume 进行流式传输和部分下载。我毫不怀疑 BSON 会流行起来,我们将来可能会使用它,但目前它不适合我们的用例。