Rumah > pembangunan bahagian belakang > C++ > Cara Menghantar Fail melalui HTTP POST Menggunakan C#: Panduan Komprehensif

Cara Menghantar Fail melalui HTTP POST Menggunakan C#: Panduan Komprehensif

Susan Sarandon
Lepaskan: 2025-01-11 19:26:43
asal
575 orang telah melayarinya

How to Send Files via HTTP POST Using C#: A Comprehensive Guide

Penjelasan terperinci tentang muat naik fail C# HTTP POST

Artikel ini akan memperkenalkan secara terperinci cara menggunakan C# untuk memuat naik fail ke pelayan web Ini adalah keperluan biasa dalam pembangunan aplikasi Windows dan memerlukan pemahaman tentang prinsip permintaan borang HTTP.

Dilaksanakan menggunakan HttpWebRequest (terpakai sebelum .NET 4.5)

Sebelum .NET 4.5, muat naik fail biasanya menggunakan objek HttpWebRequest tradisional. Langkah-langkahnya adalah seperti berikut:

  1. Buat objek HttpWebRequest, nyatakan URI, kaedah dan pengepala lain yang diperlukan.
  2. Buat objek HttpStream dengan memanggil req.GetRequestStream().
  3. Baca kandungan fail yang hendak dimuat naik ke dalam strim.

Kod sampel:

<code class="language-csharp">HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.ContentType = file.ContentType;
req.ContentLength = file.Length;
using (Stream requestStream = req.GetRequestStream())
using (Stream fileStream = File.OpenRead(file.FileName))
{
    fileStream.CopyTo(requestStream);
}</code>
Salin selepas log masuk

Dilaksanakan menggunakan HttpClient dan MultipartFormDataContent (untuk .NET 4.5 dan ke atas)

.NET 4.5 dan lebih baru (atau dengan menggunakan pakej NuGet "Microsoft.Net.Http" dalam .NET 4.0), anda boleh menggunakan HttpClient dan MultipartFormDataContent untuk mensimulasikan permintaan borang dengan lebih mudah.

Kod sampel:

<code class="language-csharp">private async Task<Stream> Upload(string actionUrl, string paramString, Stream paramFileStream, byte[] paramFileBytes)
{
    HttpContent stringContent = new StringContent(paramString);
    HttpContent fileStreamContent = new StreamContent(paramFileStream);
    HttpContent bytesContent = new ByteArrayContent(paramFileBytes);
    using (var client = new HttpClient())
    using (var formData = new MultipartFormDataContent())
    {
        formData.Add(stringContent, "param1", "param1");
        formData.Add(fileStreamContent, "file1", "file1");
        formData.Add(bytesContent, "file2", "file2");
        var response = await client.PostAsync(actionUrl, formData);
        if (response.IsSuccessStatusCode)
        {
            return await response.Content.ReadAsStreamAsync();
        }
    }
    return null;
}</code>
Salin selepas log masuk

Dengan langkah di atas, anda boleh memuat naik fail dengan mudah ke pelayan web melalui HTTP POST menggunakan aplikasi C#.

Atas ialah kandungan terperinci Cara Menghantar Fail melalui HTTP POST Menggunakan C#: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan