2017-02-09 51 views
1

我有一些用戶上傳的照片,他們抱怨垂直照片在調整大小時被更改爲橫向。事實上,情況就是這樣,爲了將事情調整一下,我調整了照片並上傳到位。當圖片在網頁裏面被查看時,這沒有效果!照片以垂直方向顯示在網頁上,垂直位於其他地方。爲什麼?

爲了儘可能簡化測試,我創建了一個沒有CSS的裸骨骼網頁和一個沒有src以外屬性的單個IMG元素。這繼續以橫向模式顯示照片。複製照片的URL並粘貼到另一個選項卡中,照片以垂直模式顯示。下載該文件並在Windows中打開,並以垂直模式顯示。

http://www.texashiking.com/test/PhotoOrientation.htm

的文件被存儲在Azure的BLOB存儲。

我和Chrome版本56,邊緣38版和Internet Explorer 11

什麼導致這個複製呢?

+0

您的照片如何上傳? –

+0

使用ASP.Net FileUpload控件將照片上傳到網站。 .Net的BitMap和Graphics類用於調整大小。然後使用Microsoft的StorageClient庫將所得照片傳輸到Azure。 –

回答

0

您的圖像嵌入了exif orientation data這是大概在渲染頁面時被忽略。請參閱this answer瞭解更多細節。

基本上,您拍攝的圖像存儲在風景中,但存儲了一些元數據,說圖像需要旋轉270°。瀏覽器在網頁中顯示時顯然忽略此標記,但直接訪問圖像時不顯示。

+0

值得一提的是,您可以在[this]等網站上查看這些數據。(http://www.verexif.com/en/ver.php?foto_file=&foto_url=http%3A%2F%2Fstatic.logbookexplorer.com %2Fphoto2017%2F49876d80b05645f48ab7b796cff5251b-large.jpg) – JonRB

+0

你現在就在。 EXIF方向設置解釋了爲什麼在Windows中看起來很好,但在網頁中包含時卻從來沒有這樣做。我已經清除了EXIF數據,重新定位到垂直,事情看起來很好。現在想出一個計劃,在將來自動提取這些設置並重新調整照片的方向,以免在未來發生這種情況。謝謝! –