我正在使用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
我已确认file命令返回正确的类型 file -b --mime ScreenCaptureProject3.mp4
返回
video/mp4; charset=binary
保存适用于另一个接受图像并使用
检查内容的模型类validates_attachment_content_type :photo, content_type: /\Aimage\/.*\Z/
我不知道接下来要转到哪里 - 除了重新创建课程并将列名更改为不与视频冲突的内容之外?
希望有人可以提供帮助!
答案 0 :(得分:0)
谢谢katafrakt - 你让我走上了正确的道路。
我正在使用presigned_post并使用JQuery FileUploader上传到S3。这不是设置Content-Type而且我回到了Paperclip不知道如何处理的二进制/八位字节类型。
我在预先签名的帖子上设置content_type
,该帖子将正确的元数据存储在S3中,一切都很顺利。