2014-04-19 11 views
5

Używam klejnotu do spinania plików. Chcę wgrać różne rodzaje plików, takich jak pdf, doc, wideo i audio. Mam weryfikację dla typu pliku w moim modelu. W przypadku dokumentów, plików PDF i wideo działa, ale nie tworzy plików dźwiękowych. proszę pomóż. Mój modelPrzesyłanie pliku audio z klipsem

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 

Jest to błąd Mam ...

1 error prohibited this xyz from being saved: 

    Avatar content type is invalid 

Odpowiedz

6

To będzie pracować dla każdego typu pliku

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

Możesz również dowiedzieć się dokładnie typ zawartości plik z poleceniem

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

Mam biegać w na plik MP3 i powrócił

audio/mpeg 

Więc jeśli chcesz, aby potwierdzić jedynie pewien zbiór typów zawartości można dodać „audio/mpeg” do listy

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

Dzięki, Działało idealnie – pritesh