2014-04-19 14 views
5

Sto usando graffetta gemma per caricare i file. Voglio caricare diversi tipi di file come pdf, doc, video e audio. Ho convalida per tipo di file nel mio modello. Per doc, pdf e video sta funzionando ma non è wroking per il file audio. per favore aiuto. Il mio modellodi file audio Paperclip caricare

class Xyz < ActiveRecord::Base 
    attr_accessible :email, :name, :avatar, :CategoryID 
    has_attached_file :avatar 
    validates_attachment_content_type :avatar, :content_type => ['video/mp4','video/avi','Audio/mp3','application/pdf',"application/pdf","application/vnd.ms-excel",  
      "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
      "application/msword", 
      "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 
      "text/plain"] 
    #validates_attachment_content_type :avatar, :content_type => ['audio/mp3'] 
end 

Questo è l'errore che ho ...

1 error prohibited this xyz from being saved: 

    Avatar content type is invalid 

risposta

6

questo funzionerà per qualsiasi tipo di file

validates_attachment_content_type :avatar, :content_type => /.*/ 

si può anche scoprire esattamente il tipo di contenuto di il file con il comando

file -i path/to/file # or 
file --mime-type path/to/file 

Ho eseguito in in archivio MP3 ed è tornato

audio/mpeg 

Quindi, se si desidera convalidare solo un insieme di tipi di contenuto è possibile aggiungere 'audio/mpeg' alla lista

validates_attachment_content_type :avatar, :content_type => [ ..., 'audio/mpeg', ...] 
+0

Grazie, Ha funzionato perfettamente – pritesh

Problemi correlati