2008-11-09 7 views
0

Je veux écrire un utilitaire simple pour télécharger des images vers divers sites Web d'hébergement d'images gratuits comme TinyPic ou Imageshack via un menu contextuel clic-droit pour le fichier.Comment télécharger/publier une image sur un site d'hébergement d'images sans utiliser le navigateur?

Comment puis-je faire cela en utilisant .NET? J'ai vu des scripts linux qui utilisent cURL pour publier des images sur ce site, mais je ne suis pas sûr de savoir comment je pourrais créer la demande de publication, avec une image en C#?

Quelqu'un peut-il me diriger dans la bonne direction?


EDIT:

J'ai trouvé une assez bonne ressource. Cropper, un outil de capture d'écran gratuit écrit en .net, a beaucoup de plugins open-source. L'un d'eux est un SendToTinyPic .. complet avec la source. Lien ici:
http://www.codeplex.com/cropperplugins

Répondre

4

Le FlickrNet API rend cela très facile pour travailler avec Flickr de .NET. Vous devez avoir un compte Flickr ainsi qu'un API key and shared secret. Une fois que vous avez ce dont vous avez besoin, en collaboration avec l'API est très simple:

// http://www.flickr.com/services/api/misc.api_keys.html 
string flickrApiKey = "<api key>"; 
string flickrApiSharedSecret = "<shared secret>"; 
string flickrAuthenticationToken = "<authentication token>"; 

Flickr flickr = new Flickr(flickrApiKey, flickrApiSharedSecret); 

flickr.AuthToken = flickrAuthenticationToken;  

foreach (FileInfo image in new FileInfo[] { 
    new FileInfo(@"C:\image1.jpg"), 
    new FileInfo(@"C:\image2.jpg") }) 
{ 
    string photoId = flickr.UploadPicture(
     image.FullName, image.Name, image.Name, "tag1, tag2"); 
} 
0

TinyPic.com n'a pas d'API pour autant que je sache, mais le plugin Cropper SendToTinyPic essaie de télécharger en utilisant "Screen Scraping". La version officielle du plugin ne fonctionne pas pour le moment, mais j'ai mis en place un patch en utilisant la même approche, et je l'ai soumis au cropperplugins project. C'est juste un module source qui a changé. Tout le monde peut télécharger le projet plugins, puis déposer mon patch et cela devrait fonctionner. Avec le patch, c'est PritScrn ou Alt-PrntScrn qui enregistre l'image et la télécharge sur tinypic, et insère l'URL de l'image brute dans votre presse-papiers. Tout en 2 secondes. facile.

Si vous ne voulez pas l'outil réel, vous pouvez toujours regarder le code source de mon correctif pour voir comment POSTER une page avec des données de formulaire et un téléchargement de fichier. Pas de lien direct. Voir http://cropperplugins.codeplex.com/SourceControl/PatchList.aspx et chercher # 3239.


Cet exemple image a été produite puis téléchargé automatiquement à tinypic.com avec le Alt-PrtScrn-combinaison de touches. Example image http://i42.tinypic.com/2dcg3ec.jpg

Pour l'intégrer ici, je devais juste ctrl-V parce que l'URL est stockée dans le presse-papiers.

+2

Cela ne fonctionne plus. TinyPic a modifié son flux de transactions pour inclure un captcha devant chaque téléchargement. En outre, ils ont obscurci quelques choses aussi bien. et j'ai appris que les conditions d'utilisation de TinyPic interdisaient l'utilisation d'un script ou d'une application pour télécharger des images. Alors ... Ce n'est plus un bon exemple. D'autre part CropperPlugins a d'autres plugins qui font un travail similaire - pour Imgur, ImageShack, TwitPic et Flickr. Vérifiez-le. Open source. – Cheeso

Questions connexes