Comment faire un appel vers une URL, par exemple http://www.example.com/images/123.png et renvoyer une image nommée 123.png? J'utilise Rails 3.2, Carrierwave. J'ai essayé Fakeweb mais j'ai été un peu perplexe.Acheminer une URL d'image et renvoyer une image
2
A
Répondre
3
Après quelques heures de recherche, se révèle qu'il est simple:
FakeWeb.register_uri(:get, string_or_regxp_of_uri,
body: SupportFiles.uploaded_file("square.jpg"),
content_type: 'image/jpg')
Mon problème est plus délicat:
Je teste avatar FB, et je suis arrivé l'extension whitelst
Le code ci-dessus ne fonctionnera pas puisque l'extension est manquante
(URL avatar FB: https://graph.facebook.com/123/picture)
Mais l'avatar réel FB rediriger vers un CDN ou quelque chose qui h comme l'extension
Vous avez donc besoin d'ajouter un autre bout:
# Register a fake remote image
fake_avatar_uri = "https://graph.facebook.com/fake_avatar.jpg"
# Redirect to a fake uri
FakeWeb.register_uri(:get, %r|https://graph\.facebook\.com/|,
status: ["301", "Moved Permanently"],
location: fake_avatar_uri)
# Feed fake image for the fake uri
FakeWeb.register_uri(:get, fake_avatar_uri,
body: SupportFiles.uploaded_file("square.jpg"),
content_type: 'image/jpg')
Le module SupportFiles (pas écrit par moi-même: P):
require 'rack/test/uploaded_file'
module SupportFiles
extend ActiveSupport::Concern
included do
let(:an_image) do
open_file("square.jpg")
end
end
def open_file(filename)
File.open(support_file_path(filename))
end
# idea stolen from ActionDispatch::TestProcess#fixture_file_upload
def uploaded_file(filename)
Rack::Test::UploadedFile.new(support_file_path(filename))
end
module_function :uploaded_file
protected
def support_file_path(filename)
Rails.root.join("spec/support/files", filename)
end
module_function :support_file_path
end
Questions connexes
- 1. Comment acheminer une url avec une url dans MVC
- 2. Comment combiner TextView et une image et renvoyer une image?
- 3. renvoyer une image avec response_to
- 4. Héberger une image Android et obtenir une URL
- 5. Renvoyer une URL de sitemap
- 6. Redéfinition Flask add_url_rule pour acheminer une URL spécifique
- 7. Renvoyer une image du webservice
- 8. Angular 2 - Acheminer le composant enfant vers une autre URL
- 9. Android envoyer une image et enregistrer url
- 10. Comment renvoyer une image d'un serveur? (édité)
- 11. PHP Curl Télécharger image et obtenir une image Uploaded Url
- 12. Récupérer une image et l'insérer dans une nouvelle URL
- 13. Comment actualiser une URL et charger une nouvelle image
- 14. Vérifier si une certaine URL existe et retourner une image
- 15. Zend: comment acheminer une action
- 16. Récupérer une image depuis une URL
- 17. Télécharger une image via une URL
- 18. Comment charger une image depuis une URL?
- 19. Renvoyer une image aléatoire dans iOS
- 20. Importer une image Renvoyer le fichier vide
- 21. MVC 3 ne pas acheminer certaines URL
- 22. Comment renvoyer une image depuis une fonction en JavaScript?
- 23. Comment analyser une URL JSON extraire les URL des images et les renvoyer
- 24. Renvoyer une ArrayList et une chaîne asyncTask
- 25. Renvoyer une promesse et attraper une erreur
- 26. URL Rewriting et une image de charge sur mes pages
- 27. JavaFX image (classe) et ImageView avec une URL
- 28. comment télécharger et afficher une image d'une URL dans R?
- 29. Ajouter et renvoyer une chaîne
- 30. Remplacer une partie d'une image URL