Http 在浏览器中使用Webapi进行图像渲染

Http 在浏览器中使用Webapi进行图像渲染,http,asp.net-web-api,Http,Asp.net Web Api,我想通过使用webapi来呈现一个图像,这样我就可以包含e-tag或许多其他东西来进行缓存。并且可以基于设备渲染不同大小的图像 我已经写了一个格式化程序,它接受正确渲染的“image/jpeg”;和小提琴手在一起。但在浏览器标记的情况下,接受头作为“星/星”发送,这只是一个媒体范围。在评估accept header值时,我们根据它们的具体程度对它们进行排序,是否可以发送标头或使用web api呈现图像的任何其他方式。就是 Accept: image/jpeg 排名高于 Accept: imag

我想通过使用webapi来呈现一个图像,这样我就可以包含e-tag或许多其他东西来进行缓存。并且可以基于设备渲染不同大小的图像


我已经写了一个格式化程序,它接受正确渲染的“image/jpeg”;和小提琴手在一起。但在浏览器标记的情况下,接受头作为“星/星”发送,这只是一个媒体范围。在评估accept header值时,我们根据它们的具体程度对它们进行排序,是否可以发送标头或使用web api呈现图像的任何其他方式。就是

Accept: image/jpeg
排名高于

Accept: image/*
Accept: */*
哪个级别高于

Accept: image/*
Accept: */*
发生的情况是,如果一个控制器有多个格式化程序,并且只得到一个/accept头,那么我们在列表中选择第一个可以序列化特定主体类型的格式化程序

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

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

亨里克

[1]