【问题标题】:How can we restrict file uploads with valid file type but invalid content-type - Rails我们如何限制文件类型有效但内容类型无效的文件上传 - Rails
【发布时间】:2013-09-11 12:41:52
【问题描述】:

在我的 Rails Web 应用程序中,我必须上传 audiovideo 文件并针对 invalid file types 进行验证,我使用了 @ 987654321@ 我也能成功。但是,如果我创建一个文本文件并将扩展名从 .txt 更改为 .mp3,例如test.txttest.mp3,jquery 验证引擎会将其视为有效,因为文件扩展名对音频有效。

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

我正在使用,

Rails 3.2.13

Ruby 2.0.0-dev

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

【问题讨论】:

    标签: ruby-on-rails-3 file-upload mime-types content-type


    【解决方案1】:

    我建议您检查paperclip 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
    

    希望对你有帮助。

    【讨论】:

    猜你喜欢
    • 2011-11-11
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    相关资源
    最近更新 更多