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

}

相关推荐
周杰伦fans11 小时前
8GB显存下模型量化实战指南
人工智能·后端·c#
samble13 小时前
从零搭建灌装监控系统(十二):配置系统,原子写入与容错
c#·wpf·mvvm·modbus·工业控制
流形填表16 小时前
题库去重实战:基于题干指纹的重复题清理
开发语言·c#
文祐20 小时前
下载Visual Studio 2017 Build Tools version 15.9
ide·visual studio
开开心心就好1 天前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频
CSharp精选营1 天前
.NET 面试必问的 8 道 GC 题,建议收藏
.net·面试题·gc·c#面试题
QQ_21696290961 天前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
cuijiecheng20181 天前
Windows 下使用 GitHub Private Repository 管理私人 Visual Studio/C++ 项目
windows·github·visual studio
未来之窗软件服务1 天前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
UIU1142 天前
-7 / 2 在 C 里是 -3,在 Python 里是 -4,谁算错了?
c++·学习·c#