2011-03-28 53 views

回答

1

如果它只是JPEG文件,您擔心,您可以用類似讀取EXIF數據:http://www.nihilogic.dk/labs/exifjquery/你可以在uploadify回調的一個觸發此(例如:ONSELECT):如果你http://www.uploadify.com/documentation/events/onselect/

否則不能閱讀EXIF,你需要上傳它,處理它,如果它比你需要的更多,就把它扔掉併發回一個錯誤。

從回形針自述(https://github.com/thoughtbot/paperclip/blob/master/README.md):

前和後處理 步驟之後,回形針回調到 模型帶有一些回調,允許 模型更改或取消處理步驟 。回調是 before_post_process和 after_post_process

無論如何,你可以使用回形針魚貫而出尺寸:https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/geometry.rb#L14

dimensions = Paperclip::Geometry.from_file(original_file) 

回形針也將調整爲你,如果文件過大,所以它贏得無論你的用戶上傳一個大文件:

has_attached_file :avatar, :styles => { :original => ["19200x19200>", :jpg] } 
0

完整的標準JPEG文件中沒有可用的分辨率信息。它意味着以72dpi顯示,因爲JPEG是針對網絡製作的。請參閱http://en.wikipedia.org/wiki/JPEG_File_Interchange_Format#Resolution_and_aspect_ratio

但是大多數圖形程序都將EXIF數據轉換爲JPEG格式(這不符合標準並且或多或少都是Adobe的專有技術)。您可以嘗試從該EXIF數據中提取分辨率,並將其保存爲x-Resolutiony-Resolution。 rMagick寶石將是一個好的開始。

+0

以及標題有關於寬度和高度的信息http://www.fastgraph.com/ help/jpeg_header_format.html 我知道RMagick ping函數,我可以使用它來獲取這些細節,但如果我可以用其他方式訪問這些信息,它會更乾淨 – ddayan 2011-03-28 11:37:36