Вопрос

Сначала немного предыстории, потому что происходит много взаимодействия:Я получаю электронные письма через Fetcher и обрабатываю их с помощью MMS2R для извлечения вложений.Эти вложения обычно представляют собой файлы PDF или документы MS Word, поэтому можно ожидать, что их content-type было бы application/pdf и application/msword соответственно, но, к сожалению, оказывается, что многие почтовые программы этого не делают.

Вместо этого вложения application/x-pdf и application/x-doc.Мне нужно, чтобы они были установлены правильно, чтобы scribd-fu правильно обрабатывал документы в формате iPaper.Теперь mimetype-fu сможет определить правильный тип контента, но я, хоть убей, могу понять, как правильно установить тип контента вложения скрепки.

Вот фрагмент кода:

mms.process do |media_type, files|
  # go through each file
  files.each do |filename|
    # if it's a format we support, create a record
    if media_type =~ /pdf/  # just pdfs for now, to reduce confusion
      File.open(filename) do |tempfile| 
        # Somewhere in here I'd like to change filename.content_type
        # to the proper type using mimetype-fu
        # except doing tempfile.content_type = whatever doesn't seem to work.

        thing = Thing.new
        thing.document = tempfile
        thing.save!
      end
    end
  end
end

Любая помощь будет оценена по достоинству, потому что я бился головой о стену, пытаясь сделать все возможное, чтобы заставить это работать.Я уже пробовал эти ссылки либо безуспешно, либо не вникая в то, что нужно делать:

Большое спасибо!

Это было полезно?

Решение

Можешь просто сделать

thing.document_content_type = whatever

или ты делаешь свой scribd-fu в document= или что-то в этом роде?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top