Я пытаюсь использовать OpenURI для загрузки файла с S3, а затем сохранить его локально, чтобы я мог отправить файл в виде вложения с помощью ActionMailer.Почему использование OpenURI для загрузки файла приводит к частичному файлу?
Происходит нечто странное. Изображения, загружаемые и прикрепленные, повреждены, нижние части изображений отсутствуют.
Вот код:
require 'open-uri'
open("#{Rails.root.to_s}/tmp/#{a.attachment_file_name}", "wb") do |file|
source_url = a.authenticated_url()
io = open(URI.parse(source_url).to_s)
file << io.read
attachments[a.attachment_file_name] = File.read("#{Rails.root.to_s}/tmp/#{a.attachment_file_name}")
end
a
привязанность от ActionMailer.
Любые идеи? Я был бы очень благодарен за ваши мысли, поскольку я ударил головой о стену на этом.
Спасибо! Вам известно, как читать приложение ActionMailer как StringIO? Так что мне не нужно использовать временный файл? – AnApprentice 2010-12-06 00:51:59