How to check in rails uploaded file type?

2020-07-09 07:46发布

How can i see what type of file is comming? For example, csv or xls... Give code please... I get file so:

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)

Maybe by MIMO, but how?

2条回答
冷血范
2楼-- · 2020-07-09 08:48

uploaded_io.content_type contains the MIME type of file.

So:

uploaded_io.content_type == "text/csv"

查看更多
叛逆
3楼-- · 2020-07-09 08:50

Unfortunately, it (content_type method) is not going to work if a user changes file extension. I've tested that in rails console and the changing the file extension also changes "content_type" output.

Found this SO question quite helpful:

Determine file type in Ruby

查看更多
登录 后发表回答