C#post调用接口并上传文件
时间: 2023-11-27 19:04:57 浏览: 131
你可以使用 C# 的 HttpClient 类来调用接口并上传文件。以下是一个示例代码:
```csharp
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
public async Task UploadFile(string filePath, string url)
{
using (var client = new HttpClient())
{
using (var content = new MultipartFormDataContent())
{
// 添加文件内容
var fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes(filePath));
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
content.Add(fileContent, "file", System.IO.Path.GetFileName(filePath));
// 发送请求
var response = await client.PostAsync(url, content);
// 处理响应
if (!response.IsSuccessStatusCode)
{
// 请求失败
throw new HttpRequestException($"请求失败:{response.ReasonPhrase}");
}
else
{
// 请求成功
var result = await response.Content.ReadAsStringAsync();
// 处理返回的结果
}
}
}
}
```
其中,`filePath` 是要上传的文件路径,`url` 是接口的地址。在 `MultipartFormDataContent` 中添加文件内容时,需要指定文件名和文件类型。在响应中,可以根据 `IsSuccessStatusCode` 属性判断请求是否成功,并使用 `ReadAsStringAsync` 方法获取返回的结果。
阅读全文