316 votes

Télécharger des fichiers avec HTTPWebrequest (multipart/form-data)

Est-il de toute la classe, une bibliothèque ou un morceau de code qui me permettra de télécharger des fichiers avec HTTPWebrequest?

Edit 2:

Je ne veux pas de télécharger un dossier WebDAV ou quelque chose comme ça. Je veux simuler un navigateur, tout comme le téléchargement de votre avatar pour un forum ou télécharger un fichier via un formulaire dans une application web. Télécharger un formulaire qui utilise un multipart/form-data.

Edit:

WebClient est pas à couvrir mes besoins, donc je suis à la recherche d'une solution avec HTTPWebrequest.

261voto

Cristian Romanescu Points 1491

Prend le code ci-dessus et fixe car il lève erreur de serveur interne 500. Il y a quelques problèmes avec \r\n mal positionné et espaces etc.. Appliqué la refactorisation avec flux de mémoire, écrit directement dans le flux de demande. Voici le résultat :

et exemple d’utilisation :

Il pourrait être étendu pour gérer plusieurs fichiers ou juste l’appeler plusieurs fois pour chaque fichier. Toutefois, il convient à vos besoins.

154voto

dr. evil Points 12196

Je cherchais quelque chose comme cela, trouvés à : http://bytes.com/groups/net-c/268661-how-upload-file-via-c-code

115voto

Joshcodes Points 1411

Mise à jour : À l’aide de .NET 4.5 (ou .NET 4.0 en ajoutant le paquet Microsoft.Net.Http de NuGet) cela n’est possible sans code externe, les extensions et manipulation HTTP « bas niveau ». Voici un exemple :

16voto

Chris Hynes Points 5110

Ma FAQ de télécharger ASP.NET possède un article à ce sujet, avec l’exemple de code : Télécharger des fichiers à l’aide d’une requête de message RFC 1867 avec HttpWebRequest/WebClient. Ce code ne charge pas les fichiers dans la mémoire (et non le code ci-dessus), prend en charge plusieurs fichiers et prend en charge les valeurs de formulaire, les informations d’identification de paramètre et cookies, etc..

13voto

Moose Points 3792

quelque chose comme cela est étroite : (non testé code)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X