0

在我的 Rails Web 应用程序中,我必须上传音频视频文件并针对无效文件类型进行验证,我已经使用过jquery-validation engine并且可以成功地做到这一点。但是,如果我创建一个文本文件并将扩展名从更改.txt.mp3,例如更改test.txttest.mp3,它将被 jquery 验证引擎视为有效,因为文件扩展名对音频有效。

我也想检查内容类型。当我test.mp3在播放器中打开时,它显示了一条错误消息Stream contains no data。我希望在界面中执行这种验证。在 Rails 中可以吗?

我在用着,

Rails 3.2.13

Ruby 2.0.0-dev

希望任何人都可以帮助我。谢谢 :)-

4

1 回答 1

2

我建议您检查回形针 gem它是 Active Record 的文件附件库。这个库使用起来非常简单,并且可以对每种内容类型进行验证。例如,如果你想验证一个图像,你可以通过下一个验证:

class User < ActiveRecord::Base
  attr_accessible :avatar
  has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"

  validates_attachment :avatar, 
  :presence => true, :content_type => { :content_type => "image/jpg" },
  :size => { :in => 0..500.kilobytes }

end

希望能帮助到你。

于 2013-09-09T03:14:34.660 回答