.netCore的winform程序如何调用webapi

1、创建一个HttpClientHelper类声明HttpClient只读

public static class HttpClientHelper

{

private static readonly HttpClient client = new HttpClient();

public static async Task<HttpResponseMessage> PostAsync(string url, HttpContent content)

{

return await client.PostAsync(url, content);

}

}

2、调用方法,此处有三个参数其中一个为byte[]

public async Task<string> CallWebApiAsync(string url)

{

byte[] filecontent = FileContent(textBox2.Text);

string str = Convert.ToBase64String(filecontent);

var data = new { dataCode = textBox3.Text, dataContent = str, pwd= textBox4.Text }; // 你的数据模型

var json = JsonConvert.SerializeObject(data); // 将对象序列化为JSON字符串

var content = new StringContent(json, Encoding.UTF8, "application/json");

string responseBody = "";

try

{

var response = await HttpClientHelper.PostAsync(url, content);

response.EnsureSuccessStatusCode(); // 确保响应是成功的状态码(200-299)

responseBody = await response.Content.ReadAsStringAsync(); // 获取响应内容

//Console.WriteLine(responseBody); // 处理响应内容

}

catch (HttpRequestException ex)

{

//MessageBox.Show($"Error: {ex.Message}");

//Console.WriteLine(e.Message); // 处理异常情况

responseBody= ex.Message;

}

return responseBody;

}

3、调用上边的方法

private async void button1_Click(object sender, EventArgs e)

{

await CallWebApiAsync(textBox1.Text);

}

相关推荐
Tiger_shl2 小时前
【.Net技术栈梳理】03-核心框架与运行时(异常处理)
开发语言·.net
ISDF-工软未来7 小时前
C# 泛型简单案例
c#
清朝牢弟7 小时前
Win系统下配置PCL库第一步之下载Visual Studio和Qt 5.15.2(超详细)
c++·qt·visual studio
水饺编程8 小时前
Windows 命令行:cd 命令3,当前目录,父目录,根目录
c语言·c++·windows·visual studio
疯狂的维修9 小时前
C#中一段程序类比博图
c#
驾驭人生11 小时前
Asp .Net Core 系列:Asp .Net Core 集成 Hangfire+MySQL
数据库·mysql·.netcore
时光追逐者11 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 53 期(2025年9.1-9.7)
c#·.net·.netcore
冷冷的菜哥11 小时前
ASP.NET Core使用MailKit发送邮件
后端·c#·asp.net·发送邮件·mailkit
weixin_4471035811 小时前
C#之LINQ
c#·linq