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

}

相关推荐
李宥小哥7 小时前
C#基础10-结构体和枚举
java·开发语言·c#
Yupureki12 小时前
从零开始的C++学习生活 3:类和对象(中)
c语言·c++·学习·visual studio
玖笙&16 小时前
✨WPF编程基础【2.1】布局原则
c++·wpf·visual studio
玖笙&16 小时前
✨WPF编程基础【2.2】:布局面板实战
c++·wpf·visual studio
SEO-狼术16 小时前
.NET WPF 数据编辑器集合提供列表框控件
.net·wpf
SEO-狼术20 小时前
Oxygen AI Positron Assistant Enterprise
人工智能·.net
楼田莉子1 天前
C++学习:C++11介绍及其新特性学习
开发语言·c++·学习·stl·visual studio
惜.己1 天前
jmeter中java.net.ConnectException: Connection refused: connect
java·jmeter·.net
secondyoung1 天前
Markdown转换为Word:Pandoc模板使用指南
开发语言·经验分享·笔记·c#·编辑器·word·markdown
andyguo2 天前
AI模型测评平台工程化实战十二讲(第五讲:大模型测评分享功能:安全、高效的结果展示与协作)
人工智能·安全·c#