Heim > Backend-Entwicklung > C++ > Wie lade ich Dateien über HTTP POST mit C# hoch?

Wie lade ich Dateien über HTTP POST mit C# hoch?

Susan Sarandon
Freigeben: 2025-01-11 19:21:42
Original
761 Leute haben es durchsucht

How to Upload Files via HTTP POST using C#?

C# HTTP POST-Datei-Upload: Eine umfassende Anleitung

Diese Anleitung beschreibt, wie Sie mit C# Dateien über eine HTTP-POST-Anfrage auf einen Remote-Server hochladen.

1. Erstellen der HTTP-Anfrage

Erstellen Sie zunächst ein HttpWebRequest-Objekt, das die Ziel-URL angibt. Setzen Sie die Eigenschaft Method auf „POST“ und definieren Sie ContentType und ContentLength entsprechend.

2. Authentifizierungs- und Verbindungsparameter

Konfigurieren Sie die Eigenschaft Credentials der Anfrage mit den erforderlichen Benutzeranmeldeinformationen. Aktivieren Sie die Vorauthentifizierung, indem Sie PreAuthenticate auf true setzen.

3. Erstellen mehrteiliger Formulardaten

Für C# 4.5 und höher nutzen Sie die Klasse MultipartFormDataContent, um mehrteilige Formulardaten zu erstellen. Fügen Sie sowohl Zeichenfolgen- als auch Dateidaten mit StringContent bzw. StreamContent hinzu.

4. Senden der Anfrage und Bearbeiten der Antwort

Senden Sie die Anfrage mit req.GetResponse() und verwalten Sie mögliche Ausnahmen. Verarbeiten Sie die Antwort des Servers entsprechend.

5. Codebeispiel

Der folgende Code demonstriert den Prozess:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lade ich Dateien über HTTP POST mit C# hoch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage