web-dev-qa-db-fra.com

Télécharger une photo sur Flickr à partir d'une URL

Comment puis-je télécharger une photo sur Flickr à partir d'une URL?

Est-ce possible?

5
marioosh

Mise à jour

Compte tenu de votre nouvelle question spécifique, il n'y a aucune possibilité de Flickr lui-même. Je ne connais pas la raison, mais à moins que quelqu'un trouve une porte dérobée pour cela, vous ne pourrez pas le faire.

Vous pouvez bien sûr (en guise de solution de contournement) programmer une application qui utilise l’API de Flickr pour récupérer une image à partir d’une URL et la télécharger sur Flickr. Ne serait pas cela difficile à faire.

Peut-être existe-t-il une application Flickr qui fait exactement cela, mais je n'ai pas encore réussi à en trouver une.


Pourquoi tu ne peux pas le faire

Vous ne pouvez pas télécharger une photo via une URL. Vous devez transmettre les données de la photo entre l'URL, qui est un demande HTTP GET :

Demande une représentation de la ressource spécifiée. Requêtes utilisant GET (et quelques autres méthodes HTTP) "NE DEVRAIT PAS avoir l’importance de prendre une mesure autre que la récupération"

Le problème est que vous ne pouvez pas transmettre toutes les données d'une photo dans une URL. Il y a toujours une limite à ce qui peut être envoyé. Le W3C dit :

Le type de contenu "application/x-www-form-urlencoded" est inefficace pour l'envoi de grandes quantités de données binaires ou de texte contenant des caractères non-ASCII.

Et une image est juste une énorme quantité de données binaires. Donc, ce qui suit ne fonctionne pas:

http://flickr.com/upload/my-photo.jpeg
http://flickr.com/upload/photo=JhasHDUWCnsudNALWQNALDHOILJKASCjxid...

Ce que tu peux faire

Pour pouvoir télécharger sur Flickr, vous devez télécharger la photo via une demande HTTP POST. Les données de la photo seront intégrées à cette demande. Vous utiliseriez un formulaire "multipart" pour ceci:

Le type de contenu "multipart/form-data" doit être utilisé pour soumettre des formulaires contenant des fichiers , des données non-ASCII et des données binaires.

Mais cela signifierait que vous ne "voyez" pas la photo dans l'URL.

Flickr offre une API (une interface de programmation) qui vous permet d'effectuer diverses actions, notamment le téléchargement de photos, la recherche des utilisateurs et de leurs détails, et cetera.

Il y a n exemple pour le téléchargement de photos par HTTP POST . Sachez toutefois que vous devez programmer votre propre application pour utiliser l’API, par exemple en Python, Java ou dans n’importe quel autre langage compatible avec les fonctionnalités réseau.

8
slhck