【问题标题】:Paperclip security validation error mp4回形针安全验证错误 mp4
【发布时间】:2015-10-10 21:33:59
【问题描述】:

我正在使用 Paperclip 上传视频并不断收到有关内容类型的安全验证错误

将 mp4 保存到我的模型类时的错误是“从文件命令发现的内容类型:video/mp4。请参阅文档以允许这种组合。”

存档是这样的

AssignmentEventVideo.create(video: "https://s3-ap-southeast-2.amazonaws.com/dev/upload/0c857445-09ad-44b6-bbfa-810a9974a501/ScreenCaptureProject4.mp4")

模型类

class AssignmentEventVideo < ActiveRecord::Base

  has_attached_file :video, :styles => {
                          :medium => { :geometry => "640x480", :format => 'mp4' },
                          :android => { :geometry => "640x480", :format => 'webm'},
                          :mobile => { :geometry => "300x300", :format => 'png', :time => 2 },
                          :thumb => { :geometry => "100x100#", :format => 'png', :time => 2 }
                      }

  validates_attachment_content_type :video, content_type: ['video/mp4']
end

如果已经尝试禁用验证以及下面的代码,但它仍然会抛出错误

 do_not_validate_attachment_file_type :video

我已经确认文件命令返回正确的类型 文件 -b --mime ScreenCaptureProject3.mp4

返回

video/mp4; charset=binary

对于另一个接受图像并使用检查内容的模型类,保存工作正常

validates_attachment_content_type :photo, content_type: /\Aimage\/.*\Z/

我不确定下一步该转向哪里 - 除了重新创建课程并将列名更改为不与视频冲突的名称?

希望有人能帮忙!

【问题讨论】:

标签: ruby-on-rails video paperclip


【解决方案1】:

感谢 katafrakt - 你让我走上了正确的道路。

我正在使用 presigned_post 并使用 JQuery FileUploader 上传到 S3。这不是设置 Content-Type,我得到的是 Paperclip 不知道如何处理的二进制/八位字节类型。

我在预签名的帖子上设置了content_type,它将正确的元数据存储在 S3 中,一切都很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多