使用 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 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/22228/15350709

posted @ 2022-09-07 09:16  哈哈哈来了啊啊啊  阅读(207)  评论(0编辑  收藏  举报