2013-01-21 78 views
4

我怎樣才能看到什麼類型的文件來? 例如,CSV或XLS ... 給代碼,請... 我得到文件,以便:如何檢查rails上傳的文件類型?

aut_name = uploaded_io.original_filename 
     File.open(Rails.root.join('public', 'uploads_prices', uploaded_io.original_filename), 'wb') do |file| 
     file.write(uploaded_io.read) 
     end 
     as_load(aut_name) 

也許通過MIMO,但如何?

回答

21

uploaded_io.content_type包含文件的MIME類型。

所以:

uploaded_io.content_type == "text/csv"

+0

以及如何檢查呢?如:如果uploaded_io.content_type ==「csv」?或什麼 –

+0

這是正確的xls? .content_type ==「application/vnd.ms-excel」 –

+0

看起來像是正確的。 –

2

不幸的是,它(CONTENT_TYPE方法)不會,如果用戶更改文件擴展名的工作。我已經在rails控制檯中測試過,並且更改文件擴展名也會更改「content_type」輸出。

發現這太問題非常有用:

Determine file type in Ruby