J'essaie d'utiliser OpenURI pour télécharger un fichier à partir de S3, puis l'enregistrer localement afin que je puisse envoyer le fichier en pièce jointe avec ActionMailer.Pourquoi l'utilisation d'OpenURI pour télécharger un fichier entraîne-t-elle un fichier partiel?
Quelque chose d'étrange se passe. Les images téléchargées et attachées sont corrompues, les parties inférieures des images sont manquantes.
Voici le code:
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
est la pièce jointe ActionMailer.
Des idées? J'apprécierais vraiment vos pensées, car je me suis cogné la tête contre le mur sur celui-ci.
Merci! Savez-vous comment lire une pièce jointe ActionMailer en tant que StringIO? Donc je n'ai pas besoin d'utiliser un fichier temporaire? – AnApprentice