2014-04-19 17 views
5

Tôi đang sử dụng đá quý kẹp giấy để tải tệp lên. Tôi muốn tải lên các loại tệp khác nhau như pdf, doc, video và âm thanh. Tôi đã xác thực cho loại tệp trong mô hình của mình. Đối với doc, pdf và Video nó đang hoạt động nhưng nó không phải là wroking cho tập tin âm thanh. Hãy giúp tôi. Mô hình của tôiKẹp giấy Tệp âm thanh tải lên

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 

Đây là lỗi tôi nhận ...

1 error prohibited this xyz from being saved: 

    Avatar content type is invalid 

Trả lời

6

này sẽ làm việc cho bất kỳ loại tập tin

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

Bạn cũng có thể khám phá kiểu nội dung chính xác của tệp có lệnh

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

tôi đã chạy trong hồ sơ MP3 và nó trở

audio/mpeg 

Vì vậy, nếu bạn muốn để xác nhận chỉ có một số thiết lập của các loại nội dung mà bạn có thể thêm 'audio/mpeg' vào danh sách

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

Cảm ơn, Nó hoạt động hoàn hảo – pritesh

Các vấn đề liên quan