2012-08-01 26 views
1

我想通過使用webapi呈現圖像,這樣我就可以包含電子標籤或其他許多用於高速緩存目的的東西。並且可以基於設備呈現不同大小的圖像。使用Webapi向瀏覽器呈現圖像

我已經寫了一個格式化程序,它接受「image/jpeg」,其中呈現正確的; y與提琴手。但是,對瀏覽器標籤的內容將接受標頭作爲「星級/星級」發送,這僅僅是一個媒體範圍。無論如何,頭部可以發送或以任何其他方式來呈現圖像的網頁api

回答

2

當評估接受頭值時,我們根據它們的具體程度對它們進行排序。也就是說,

Accept: image/jpeg 

排名高於

Accept: image/* 

位居高於

Accept: */* 

什麼情況是,如果您有多個格式化爲一個控制器,你只是得到一個/接受頭,然後我們選擇列表中的第一個可以序列化特定體型的格式化程序。

解決此問題的最簡單方法是在添加自己的格式化程序之前,通過清除列表來刪除HttpConfiguration中的其他格式化程序。

您也可以使用每個控制器樣式配置以每個控制器爲基礎執行此操作,有關此方案的更多詳細信息,請參見[1]。

的Henrik

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