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:
req.GetRequestStream()
. 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>
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>
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!