httpClient wpf 上传文件
时间: 2024-01-30 15:32:46 浏览: 188
httpClient上传文件
5星 · 资源好评率100%
在 WPF 中使用 HttpClient 上传文件的步骤如下:
1. 引入必要的命名空间:
```csharp
using System;
using System.IO;
using System.Net.Http;
```
2. 创建一个 HttpClient 对象:
```csharp
var httpClient = new HttpClient();
```
3. 创建一个 MultipartFormDataContent 对象,并添加文件内容:
```csharp
var content = new MultipartFormDataContent();
var fileContent = new StreamContent(File.OpenRead(filePath));
content.Add(fileContent, "file", Path.GetFileName(filePath));
```
这里的 `filePath` 是要上传的文件路径。
4. 发起 POST 请求并上传文件:
```csharp
var response = await httpClient.PostAsync(apiUrl, content);
```
这里的 `apiUrl` 是上传文件的 API 地址。
5. 处理响应结果:
```csharp
if (response.IsSuccessStatusCode)
{
// 文件上传成功
// 处理成功的逻辑
}
else
{
// 文件上传失败
// 处理失败的逻辑
}
```
完整的代码示例:
```csharp
using System;
using System.IO;
using System.Net.Http;
public async void UploadFile(string filePath, string apiUrl)
{
try
{
using (var httpClient = new HttpClient())
{
using (var content = new MultipartFormDataContent())
{
var fileContent = new StreamContent(File.OpenRead(filePath));
content.Add(fileContent, "file", Path.GetFileName(filePath));
var response = await httpClient.PostAsync(apiUrl, content);
if (response.IsSuccessStatusCode)
{
// 文件上传成功
// 处理成功的逻辑
}
else
{
// 文件上传失败
// 处理失败的逻辑
}
}
}
}
catch (Exception ex)
{
// 异常处理
}
}
```
请注意,这里的上传文件是使用 HTTP POST 请求方式进行的,你需要根据你的实际需求来调整代码。另外,还可以根据 API 的要求设置其他的请求头或请求参数。
阅读全文