C#获取响应流文件保存到本地
时间: 2024-12-26 18:28:53 浏览: 7
在C#中,当你从Web服务或其他网络资源接收响应数据并希望将其保存到本地文件时,可以使用`HttpClient`类配合`FileStream`或`StreamWriter`。以下是一个简单的示例:
```csharp
using System;
using System.IO;
using System.Net.Http;
public async void SaveResponseToLocalFile(string url, string filePath)
{
try
{
using (var httpClient = new HttpClient())
{
// 发送HTTP请求
HttpResponseMessage response = await httpClient.GetAsync(url);
// 检查请求是否成功
if (response.IsSuccessStatusCode)
{
// 获取响应内容作为Stream
Stream responseStream = await response.Content.ReadAsStreamAsync();
// 创建文件流,并写入文件
using (FileStream fileStream = File.Create(filePath))
{
await responseStream.CopyToAsync(fileStream);
}
Console.WriteLine($"响应已成功保存至: {filePath}");
}
else
{
Console.WriteLine($"请求失败,状态码: {response.StatusCode}");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"发生错误: {ex.Message}");
}
}
```
在这个函数中,首先创建一个`HttpClient`实例,然后发送GET请求到指定URL。如果服务器返回成功,我们读取响应的内容流,然后将它复制到新的`FileStream`中,最后保存到本地文件。
阅读全文