纸夹音频文件上传

5

我正在使用Paperclip gem上传文件。 我想上传不同类型的文件,如pdf,doc,视频和音频。 在我的模型中有文件类型验证。 对于doc,pdf和视频,它可以正常工作,但对于音频文件则无法工作。 请帮忙解决。

我的模型:

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

这是我收到的错误信息...

1 error prohibited this xyz from being saved:

    Avatar content type is invalid
1个回答

7
这适用于任何类型的文件。
validates_attachment_content_type :avatar, :content_type => /.*/

您可以使用以下命令查找文件的确切内容类型:
file -i path/to/file # or 
file --mime-type path/to/file

我运行了一个MP3文件,结果返回如下:

audio/mpeg

如果你只想验证某些特定的内容类型,你可以将 'audio/mpeg' 添加到列表中。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接