我們的Web應用程序從幾十個不同的第三方來源接收圖像文件。業務規則規定我們將原始圖像保存爲收到的圖像,而不進行任何形式的圖像處理。當使用ImageResizer通過專用Web服務器爲圖像請求圖像時,我們處理調整大小,加水印,旋轉等。 autorotate = true和copymetadata = true是映像服務器上的默認值。ImageResizer和刪除圖像EXIF信息的分支
其中一個第三方來源可疑地處理圖像旋轉。當他們最初收到圖像時,他們通過旋轉圖像來兌現圖像的EXIF方向數據。但是,它們保留EXIF方向數據的預旋轉版本。所以當圖像到達我們時,它會旋轉,但EXIF方向標誌仍然保留在圖像中。當圖像從我們的圖像服務器被請求時,方向標誌被處理(通過autorotate = true),並且所產生的請求圖像被再次旋轉(顯示不正確),並且EXIF方向數據被移除。這導致不滿意的用戶。
說服第三方改變他們處理EXIF數據的方式不是一種選擇。
我們打算用於這些特定圖像的解決方案是在請求時設置autorotate = false。但是,EXIF方向信息仍然存在。由於我沒有看到ImageResizer選項只刪除EXIF方向數據(除了進入System.Drawing命名空間,我們不願意這樣做),所以我們正在考慮爲這些特定圖像設置copymetadata = false。
提供沒有元數據的圖像的Web服務器的缺點是什麼?具體關於色彩空間/配置文件?這些圖像最終被複制並在其他網站上使用。
謝謝,娜塔奈爾。我沒有意識到方向數據不會複製,所以很好學。我們還沒有看到圖像旋轉的例子 - 這更多的是防止它的先發制人的措施。現在我們知道這不是我們必須關心的事情。 – Rich