2013-05-28 16 views
11

domanda che ho è, fa Ruby on Rails hanno una funzione simile a:Rails: come ottenere un estensione del file/postfix in base al tipo MIME

file_content_type = MIME::Types.type_for(file).first.content_type 

che restituirà l'estensione del file o postfix per un tipo mime specifico? Quindi se passo 'image/jpeg' la funzione restituirà 'jpg'

Alla ricerca di un modo più pulito di codificare di dover scrivere una dichiarazione di caso che fa lo stesso lavoro.

risposta

29

Rack::Mime ha questa capacità (e Rack è una dipendenza di Rails):

require 'rack/mime' 
Rack::Mime::MIME_TYPES.invert['image/jpeg'] #=> ".jpg" 

Si potrebbe desiderare di Memoize l'hash invertita se si sta andando a fare la ricerca, spesso, in quanto non è un'operazione economica .

+0

Fresco, provo a provare – LorneCurrie

+0

Che funziona esattamente come ne avevo bisogno. Grazie. – LorneCurrie

Problemi correlati