1

我想使用 webapi 渲染图像,以便我可以包含电子标签或许多其他用于缓存目的的东西。并且可以根据设备渲染不同大小的图像。

我写了一个格式化程序,它接受“image/jpeg”,它渲染正确;y 与 fiddler 。但是如果浏览器标签将接受标头发送为“star/star”,这只是一个媒体范围。无论如何可以发送标头或任何其他方式来使用 web api 呈现图像

4

1 回答 1

2

在评估接受标头值时,我们根据它们的具体程度对它们进行排名。那是,

Accept: image/jpeg

排名高于

Accept: image/*

排名高于

Accept: */*

发生的情况是,如果您有多个用于控制器的格式化程序并且您只获得一个/接受标头,那么我们会选择列表中可以序列化特定主体类型的第一个格式化程序。

解决此问题的最简单方法是删除 HttpConfiguration 中的其他格式化程序,只需在添加自己的格式化程序之前清除列表即可。

您还可以使用每个控制器样式配置在每个控制器的基础上执行此操作,有关此场景的更多详细信息,请参阅 [1]。

亨里克

[1] http://blogs.msdn.com/b/jmstall/archive/2012/05/11/per-controller-configuration-in-webapi.aspx

于 2012-08-04T18:29:20.207 回答