是否可以添加验证以仅接受使用活动存储的.pdf和.doc文件?
发布于 2018-01-23 20:11:31
目前,您必须编写自己的验证器来查看附件的MIME类型:
class Item
has_one_attached :document
validate :correct_document_mime_type
private
def correct_document_mime_type
if document.attached? && !document.content_type.in?(%w(application/msword application/pdf))
document.purge # delete the uploaded file
errors.add(:document, 'Must be a PDF or a DOC file')
end
end
end
此外,还有一些有用的快捷方法image?
、audio?
、video?
和text?
可以检查多种mime类型。
发布于 2018-10-10 18:47:31
有一个gem可为主动存储提供验证
gem 'activestorage-validator'
https://github.com/aki77/activestorage-validator
validates :avatar, presence: true, blob: { content_type: :image }
validates :photos, presence: true, blob: { content_type: ['image/png', 'image/jpg', 'image/jpeg'], size_range: 1..5.megabytes }
发布于 2018-04-27 10:31:41
因为ActiveStorage还没有验证,所以我发现在我的表单中有以下帮助。
<div class="field">
<%= f.label :deliverable %>
<%= f.file_field :deliverable, direct_upload: true,
accept: 'application/pdf,
application/zip,application/vnd.openxmlformats-officedocument.wordprocessingml.document' %>
</div>
https://stackoverflow.com/questions/48349072
复制相似问题