Salut tout le monde,
J’espère que c’est le bon endroit pour poser ma question. Je travaille à l’importation d’un ensemble de données provenant d’un autre forum vers notre nouvelle instance Discourse (des posts internes de connaissances que nous souhaitons migrer).
J’ai soigneusement regroupé nos anciennes données dans plusieurs structures JSON, mais je bloque sur le téléchargement des diverses images liées aux anciens posts.
J’utilise le gem discourse_api et j’ai eu beaucoup de succès jusqu’ici, même si je réalise qu’il est incomplet. Je peux télécharger une image avec succès si elle est hébergée quelque part, comme ceci :
client.upload_file({'user_id':24,url:'http://valid.url.here/foo.jpg','synchronous':true})
mais je suis bloqué lorsque j’essaie de télécharger une image située sur ma machine locale :
client.upload_file({'user_id':24,file:'/local/path/to/image/foo.jpg','synchronous':true})
…ce qui retourne l’erreur suivante :
DiscourseApi::UnprocessableEntity: {"failed"=>"FAILED",
"message"=>"undefined method 'tempfile' for
#<String:0x00007f409d2fa398>"} from /home/user/.rvm/gems/
ruby-2.3.7/gems/discourse_api-0.36.0/lib/discourse_api/
client.rb:154:in 'handle_error'
J’ai assez fouillé pour réaliser que je dois probablement effectuer une manipulation en base64 ou autre afin que ma requête soit correctement formée (je réalise aussi que peut-être la méthode de téléchargement du gem Ruby ne peut tout simplement pas prendre en charge ce type de téléchargement, et si c’est le cas, ce n’est pas grave).
Je cherche surtout des conseils, pour voir si d’autres personnes ont rencontré ce problème et pour savoir si je me trompe complètement de piste. Merci d’avance, et tout le reste ![]()