Проверка файлов не работает для прямых загрузок (активное хранилище) в рельсах - PullRequest
0 голосов
/ 01 июня 2019

Я использую активное хранилище «Прямые загрузки» для загрузки изображений.Проверка файла не работает, так как я использую прямую загрузку.

validate :content

  scope :desc, -> { order(created_at: :desc) }

  private 

  def content
    if file.attached? && !file.blob.content_type.starts_with?('image/')
      errors.add(:base, 'Must be a image')
    end

  end


<%= form.file_field :file, accept:"image/*", required:true,direct_upload: true %>

Проверка работает, если я удаляю "direct_upload: true"

Я хочу знать, как проверять content_type дляпрямые загрузки.Любая помощь высоко ценится!Спасибо

Не работает для 2 сценариев:

1) Действительный файл content_type создается в таблице active_storage_blobs, чего не должно происходить (file.purge не работает) 2) Недопустимый тип содержимого application_typeНедопустимый MIME-тип "

Это происходит потому, что он напрямую загружается на диск / Amazon / Google до проверки.

Как решить эту проблему?

...