У меня есть задача rake, которая извлекает XML-документы и сохраняет их в модели в моем приложении. Задача работала, пока я не добавил проверку content_type моделиКак установить тип содержимого для временного файла
задача теперь выдает ошибку:
Datafile content type is invalid, Datafile is invalid
Как я могу установить CONTENT_TYPE ТМП файла в текст/XML, так что проверка проходит?
Код задачи ниже:
task :fetch_documents => :environment do
Net::FTP.open("www.example.com", "xxxxx", "xxxxx") do |ftp|
ftp.nlst.each do |file_name|
tmp = Tempfile.new(['foo', '.xml' ])
ftp.gettextfile(file_name, tmp.path)
# save it
document = Document.new
document.file_name = File.basename(file_name)
document.datafile = tmp
document.save!
tmp.close
end
end
end
это может помочь - http://stackoverflow.com/questions/11621863/setting-content-type-for-mp4-files-on-s3?rq=1 – devanand
@devanand благодарит, но это не только s3 , Я просто запускаю задачу локально. – Will
@devanand действительно, это помогло:) - это привело к использованию MIME :: Types.type_for ("filename.xml"). First.content_type, чтобы получить тип содержимого, который был application/xml, - добавив это к проверке модели провела меня. благодаря! – Will