2013-10-04 24 views
1

我正在使用Filepicker上傳圖片,有時會發生上傳的圖片旋轉約90°。Rails + Filepicker:有時是上傳的照片旋轉

我不知道這是一個已知的問題還是隻是在我身邊的問題,但有什麼辦法可以避免這種行爲?

編輯: 我剛剛發現圖像保存正確,但顯示不正確 - 旋轉。 我加載形象是這樣的:

= image_tag main_img.file_url, :alt => @photo.title, :title => @photo.title, :style => 'width: 200px; border: 1px solid #000;' 

我在做什麼錯?爲什麼圖像顯示爲「扭曲」而不在正確的位置?

回答

4

此行爲的原因是,圖片可能包含EXIF數據中的旋轉信息。
這意味着如果照片是用縱向方向的智能手機拍攝的,則它可以橫向存儲並標記爲「旋轉90°」。 現在取決於顯示程序,是否將圖像旋轉回來。

大多數圖像處理程序都在進行旋轉,大多數瀏覽器都沒有。

避免此行爲的唯一方法是重新計算EXIF數據中有關旋轉信息的圖像。
您可以使用imagemagick,exiftran或jhead來實現此操作,請參閱https://superuser.com/a/38860

+0

這對我來說仍然有點混亂。圖像保存正確,但只有在瀏覽器中顯示不正確(旋轉約90°)。有沒有任何快速訣竅如何正確顯示這些圖像?另外,我從來沒有遇到過這個問題,但是現在當我使用FilePicker來上傳文件時。 – user984621

+1

它顯示正確,因爲您正在使用的程序來查看圖像(也許它是預覽在Mac或其他?)正在讀取EXIF數據併爲您旋轉它。瀏覽器不會這樣做。馬丁是正確的:你需要使用imagemagick或類似的東西在後端旋轉它,重新存儲圖像,然後顯示在瀏覽器中。 – threejeez

3

我發現,通過改變從「JPG」的格式上傳的圖片的文件格式不包含EXIF元數據,如「PNG,」我能去除這個旋轉問題。在我的情況下,使用Filepicker的API,這使得非常簡單地在圖像的URL中非破壞性地更改文件格式。