Je cherche à enregistrer un fichier (dans ce cas, une image) situé sur un autre serveur Web http en utilisant Rails 5.2 stockage actif.
J'ai un objet avec un paramètre de chaîne pour l'URL source. Ensuite, sur un before_save, je veux saisir l'image distante et l'enregistrer.
Exemple: URL d'une image http://www.example.com/image.jpg .
require 'open-uri'
class User < ApplicationRecord
has_one_attached :avatar
before_save :grab_image
def grab_image
#this indicates what I want to do but doesn't work
downloaded_image = open("http://www.example.com/image.jpg")
self.avatar.attach(downloaded_image)
end
end
Merci d'avance pour toute suggestion.
Je viens de trouver la réponse à ma propre question. Mon premier instinct était assez proche ...
require 'open-uri'
class User < ApplicationRecord
has_one_attached :avatar
before_save :grab_image
def grab_image
downloaded_image = open("http://www.example.com/image.jpg")
self.avatar.attach(io: downloaded_image , filename: "foo.jpg")
end
end