📜  .net Core 获取文件请求 - C# (1)

📅  最后修改于: 2023-12-03 14:38:46.696000             🧑  作者: Mango

.NET Core 获取文件请求 - C#

在 .NET Core 中,我们可以使用 HttpClient 类来发送 HTTP 请求,从而获取文件请求。本文将介绍如何使用 HttpClient 在 .NET Core 中获取文件请求,并展示相关代码片段。

发送 GET 请求获取文件

我们可以使用 HttpClientGetAsync 方法来发送 GET 请求,并获取文件。以下示例演示如何获取一个图片文件:

using System.Net.Http;

class Program 
{
    static async Task Main(string[] args)
    {
        using var client = new HttpClient();
        using var response = await client.GetAsync("http://example.com/image.jpg");
        using var stream = await response.Content.ReadAsStreamAsync();
        using var fileStream = File.Create("image.jpg");
        await stream.CopyToAsync(fileStream);
    }
}

以上代码中,我们首先创建一个 HttpClient 实例,并使用 GetAsync 方法发送 GET 请求,并获取响应。然后,我们可以将响应内容作为流读取,并将其保存为文件。

发送 POST 请求获取文件

我们可以使用 HttpClientPostAsync 方法来发送 POST 请求,并获取文件。以下示例演示如何获取一个 PDF 文件:

using System.Net.Http;
using System.Net.Http.Headers;

class Program 
{
    static async Task Main(string[] args)
    {
        using var client = new HttpClient();
        
        // 创建 MultipartFormDataContent 实例
        var content = new MultipartFormDataContent();
        
        // 添加请求参数
        content.Add(new StringContent("value1"), "parameter1");
        content.Add(new StringContent("value2"), "parameter2");
        
        // 添加文件内容
        var fileContent = new ByteArrayContent(await File.ReadAllBytesAsync("document.pdf"));
        fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/pdf");
        content.Add(fileContent, "document", "document.pdf");
        
        // 发送 POST 请求
        using var response = await client.PostAsync("http://example.com/upload", content);
        using var stream = await response.Content.ReadAsStreamAsync();
        using var fileStream = File.Create("document_copy.pdf");
        await stream.CopyToAsync(fileStream);
    }
}

以上代码中,我们首先创建一个 HttpClient 实例,并创建一个 MultipartFormDataContent 实例,并添加请求参数和文件内容。然后,我们使用 PostAsync 方法发送 POST 请求,并获取响应。接着我们可以将响应内容作为流读取,并将其保存为文件。

总结

在 .NET Core 中,我们可以使用 HttpClient 类来发送 HTTP 请求,并获取文件请求。以上示例演示了如何使用 HttpClient 获取 GET 和 POST 请求,并获取文件。 通过使用 .NET Core 中的 HttpClient,我们可以轻松地与中央资源库进行通信,而不需要任何附加的库。