Mongoid-peperclip [paperclip] Тип содержимого Подделка: Ошибка
Мне нужно загрузить несколько больших файлов CSV через mongoid-paperclip, и я получаю ошибку Uploaded file2 my_file has an extension that does not match its contents
, В терминале я вижу эту ошибку как [paperclip] Content Type Spoof: my_file.csv (["text/csv", "text/comma-separated-values"]), content type discovered from file command: application/octet-stream.
See documentation to allow this combination.
Хорошо, я установил проверку как do_not_validate_attachment_file_type :my_file
Это не поможет той же ошибке. В application.rb
Я добавляю эту строку
Paperclip.options[:content_type_mappings] = { jpeg: 'image/jpeg', jpg: 'image/jpeg' }
Потом поменял на это
Paperclip.options[:content_type_mappings] = { csv: 'text/csv'}
Это тоже не помогает, такая же ошибкаUploaded file2 my_file has an extension that does not match its contents
, Затем я изменил валидацию на validates_attachment_content_type:my_file,:content_type => 'text/csv'. Это также не помогло. Тогда я нашел кого-то, предлагающего сделать это
`require 'paperclip/media_type_spoof_detector'
module Paperclip
class MediaTypeSpoofDetector
def spoofed?
false
end
end
end
Но где я должен это сделать? в каком файле? в каком каталоге? (Я использую rails 4.0) Если кто-нибудь знает, как исправить эту ошибку, пожалуйста, дайте мне знать! Спасибо! `
1 ответ
В заключение! это помогло мне!!!
#config/initilizers/paperclip.rb
require 'paperclip/media_type_spoof_detector'
module Paperclip
class MediaTypeSpoofDetector
def spoofed?
false
end
end
end