Maison > développement back-end > C++ > Comment télécharger des fichiers via HTTP POST en utilisant C# ?

Comment télécharger des fichiers via HTTP POST en utilisant C# ?

Susan Sarandon
Libérer: 2025-01-11 19:21:42
original
762 Les gens l'ont consulté

How to Upload Files via HTTP POST using C#?

Téléchargement de fichiers HTTP POST C# : un guide complet

Ce guide explique comment utiliser C# pour télécharger des fichiers sur un serveur distant via une requête HTTP POST.

1. Construction de la requête HTTP

Tout d'abord, créez un objet HttpWebRequest spécifiant l'URL cible. Définissez la propriété Method sur "POST" et définissez ContentType et ContentLength de manière appropriée.

2. Paramètres d'authentification et de connexion

Configurez la propriété Credentials de la requête avec les informations d'identification utilisateur nécessaires. Activez la pré-authentification en définissant PreAuthenticate sur true.

3. Création de données de formulaire en plusieurs parties

Pour C# 4.5 et versions ultérieures, exploitez la classe MultipartFormDataContent pour créer des données de formulaire en plusieurs parties. Ajoutez à la fois des données de chaîne et de fichier en utilisant respectivement StringContent et StreamContent.

4. Envoi de la demande et traitement de la réponse

Envoyez la demande en utilisant req.GetResponse() et gérez les éventuelles exceptions. Traitez la réponse du serveur en conséquence.

5. Exemple de code

Le code suivant illustre le processus :

<code class="language-csharp">HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.Credentials = new NetworkCredential(user.UserName, user.UserPassword);
req.PreAuthenticate = true;
req.ContentType = file.ContentType;
req.ContentLength = file.Length;

using (var formData = new MultipartFormDataContent())
{
    formData.Add(new StringContent(paramString), "param1", "param1");
    formData.Add(new StreamContent(paramFileStream), "file1", "file1");
    formData.Add(new ByteArrayContent(paramFileBytes), "file2", "file2");
    using (var client = new HttpClient())
    {
        var response = await client.PostAsync(uri, formData);
        // Process the response here...
    }
}</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal