使用 C# 中的不同 Http 客户端将文件上传到 Web API
使用 C# 中的不同 Http 客户端将文件上传到 Web API
C#客户端上传文件到Web API的示例集合
Image by 尼特什·辛格尔
在我之前的教程中“ 在 ASP.Net 核心中使用 Swagger 测试文件上传 ”,我已经解释了如何使用 招摇用户界面 但在很多情况下,我看到我们必须将文件上传到另一个 API 端点,在这种情况下,我们必须创建自己的 http 请求并使用 C# 代码上传文件。我看到很多人在不同的论坛上问同样的问题,所以我想让我巩固不同的例子。
在本教程中,我将展示如何使用不同的 Http 客户端来执行此操作。
让我们从设置 Web API 开始。我正在使用 .NET 6。
API 只需要一个文件
首先让我们创建一个只需要一个文件的简单端点。
[HttpPost("上传文件")]
公共 IActionResult UploadFile(IFormFile formFile)
{
_logger.LogInformation("上传文件" + formFile.FileName);
返回确定(formFile.FileName);
}
使用 HttpClient
使用 锐化
RestSharp 是一个流行的 .NET HTTP 客户端库。具有自动序列化和反序列化、请求和响应类型检测、各种身份验证和其他有用的功能。
使用 改装
Refit 是另一个用于 .NET Core、Xamarin 和 .NET 的 HTTP 客户端库,它以自动类型安全而闻名。
API 期望文件作为模型的一部分
例如,我们有以下需要文件对象的类
公共类文件信息
{
公共字符串名称 { 获取;放; }
公共字符串描述 { 获取;放; }
公共 IFormFile 文件 { 获取;放; }
}
我们有如下 API,期望这个模型作为输入
[HttpPost("UploadFileWithModel")] 公共 IActionResult UploadFileWithModel([FromForm] FileInformation fileInformation)
{
_logger.LogInformation("UploadFileWithModel" + fileInformation.File.FileName); 返回确定(文件信息。文件。文件名);
}
让我们看看如何使用所需数据调用此 api。
使用 HttpClient
使用 锐化
使用 改装
概括
在本文中,我尝试积累了通过 C# 客户端将文件上传到 Web API 的不同示例。
希望它是有帮助的..!
快乐编码并继续学习..!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明