C# HttpRequestMessage如何發(fā)送文件

c#
小樊
93
2024-08-05 13:20:11

要發(fā)送文件,您可以將文件內(nèi)容讀取為字節(jié)數(shù)組,并將其添加到HttpRequestMessage實(shí)例的Content屬性中。以下是一個(gè)簡(jiǎn)單的示例:

using System;
using System.Net.Http;
using System.IO;

class Program
{
    static void Main()
    {
        // 讀取文件內(nèi)容為字節(jié)數(shù)組
        byte[] fileBytes = File.ReadAllBytes("path/to/your/file.txt");

        // 創(chuàng)建HttpRequestMessage實(shí)例
        HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://api.example.com/upload");

        // 將文件內(nèi)容添加到請(qǐng)求中
        request.Content = new ByteArrayContent(fileBytes);

        // 發(fā)送請(qǐng)求
        HttpClient client = new HttpClient();
        HttpResponseMessage response = client.SendAsync(request).Result;

        // 檢查響應(yīng)
        if (response.IsSuccessStatusCode)
        {
            Console.WriteLine("文件上傳成功!");
        }
        else
        {
            Console.WriteLine("文件上傳失?。?" + response.ReasonPhrase);
        }
    }
}

在上面的示例中,我們首先讀取文件內(nèi)容為字節(jié)數(shù)組,然后創(chuàng)建一個(gè)包含文件內(nèi)容的ByteArrayContent對(duì)象,并將其添加到HttpRequestMessage的Content屬性中。最后,我們使用HttpClient來(lái)發(fā)送請(qǐng)求,并檢查響應(yīng)是否成功。您可以根據(jù)需要更改請(qǐng)求的方法(POST、PUT等)和URL。

0