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

}

相关推荐
追逐时光者2 小时前
快速构建一个基础、现代化的 WinForm 管理系统
后端·.net
葛小白14 小时前
C#进阶13:C#全局路径规划算法_A*
c#·路径规划算法·astar算法
时光追逐者8 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 61 期(2025年11.10-11.16)
c#·.net·.netcore
2509_940880228 小时前
【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列
开源·.net
世洋Blog9 小时前
Unity面经-List底层原理、如何基于数组、如何扩容、List存储泛型、List有关在内存中的结构
unity·面试·c#·list
PfCoder10 小时前
C# async / await 用法以及和Task的关系
c#·多线程·winform·async、await
葛小白111 小时前
Labview实用04:Labview调用.net中的事件
.net·labview
唐青枫14 小时前
.NET Web 应用 Linux 部署全指南:从环境搭建到生产上线
c#·.net