Explication détaillée du téléchargement de fichiers C# HTTP POST
Cet article présentera en détail comment utiliser C# pour télécharger des fichiers sur un serveur Web. Il s'agit d'une exigence courante dans le développement d'applications Windows et nécessite une compréhension des principes des requêtes de formulaire HTTP.
Implémenté à l'aide de HttpWebRequest (applicable avant .NET 4.5)
Avant .NET 4.5, les téléchargements de fichiers utilisaient généralement l'objet HttpWebRequest traditionnel. Les étapes sont les suivantes :
req.GetRequestStream()
. Exemple de code :
<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>
Implémenté à l'aide de HttpClient et MultipartFormDataContent (pour .NET 4.5 et supérieur)
.NET 4.5 et versions ultérieures (ou en utilisant le package NuGet « Microsoft.Net.Http » dans .NET 4.0), vous pouvez utiliser HttpClient et MultipartFormDataContent pour simuler plus facilement les demandes de formulaire.
Exemple de code :
<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>
Avec les étapes ci-dessus, vous pouvez facilement télécharger des fichiers sur un serveur Web via HTTP POST à l'aide d'une application C#.
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!