.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);

}

相关推荐
游乐码3 分钟前
C#Queue
数据结构·游戏·c#
昵称暂无11 小时前
通过 C# 复制 Word 文档、指定段落、指定节
开发语言·c#·word
JQLvopkk1 小时前
C#实现的简单的漏洞扫描器
开发语言·c#
小张-森林人2 小时前
电子病历文书编辑器 Demo
开发语言·c#
李树健1232 小时前
.NET 10 & C# 14 New Features 新增功能介绍-ASP.NET Core
c#·asp.net·.net
无风听海3 小时前
.NET10之IHostedService深度解析
c#·.net
观无3 小时前
Windows 本地电脑搭建一个私有的、类似 Gitee 的 Git 服务
gitee·jenkins·.netcore
无风听海3 小时前
.NET10之ASP.NET Core控制器构造函数选择规则深度解析
后端·asp.net·.net
asdzx674 小时前
使用 C# 将 Excel 转换成高质量 JPG
开发语言·c#·excel
CSharp精选营4 小时前
.NET被上海信创“拉黑”了?刚子给你讲明白:别慌,这事儿没那么严重
c#·.net·信创