菜的像徐坤
排名
7
文章
191
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

netcore 请求api 获取附件

2523人阅读 2023/7/18 19:29 总访问:888342 评论:0 收藏:0 手机
分类: Csharp

前言

 工作中可能会使用api请求接口,然后从接口中读取附件,今天做个记录

 实际上很简单,下边是个例子

从指定接口下载文件

  1.   var url = 请求的地址;
  2.   var jsonBody = 你的参数.ToJson();
  3.   //拼接一个请求的content
  4.   var content = new StringContent(jsonBody, System.Text.Encoding.UTF8, "application/json");
  5.   //创建request请求
  6.   var request = new HttpRequestMessage(HttpMethod.Post, url);
  7.   //将参数赋值
  8.    request.Content = content;
  9.     //获取文件服务器的文件
  10.    var response = await _httpClient.SendAsync(request);
  11.    //判断状态
  12.     if (response.IsSuccessStatusCode)
  13.     {
  14.     //读取接口中返回的流
  15.       var stream = await response.Content.ReadAsStreamAsync();  
  16.      }
  17.        else
  18.        {
  19.     //抛出请求失败的异常
  20.         }

从指定接口上传文件

  1.          
  2.              List<IFormFile> files = 你需要上传的附件;
  3.              var listFileParam = new List<FileParameter>();
  4.                 foreach (var item in files)
  5.                 {
  6.                     listFileParam.Add(new FileParameter()
  7.                     {
  8.                         FileName = item.FileName,
  9.                         FieldName = "file",
  10.                         Stream = item.OpenReadStream()
  11.                     });
  12.                 }
  13.                 //将请求转发到指定文件服务器 
  14.                 var str = await _httpClient.FileRequestAsync(uploadApi, "post"null, listFileParam);


评价

.netcore 使用缓存

1.Startup.csservices.AddMemoryCache(); services.AddMvc();2.封装Logger类[Route(&quot;api/todo&quot;)] [Authorize] ...

.netcore 使用分布式缓存(docker+redis)

1. 通过docker创建 Redis执行命令:dockerrun--nameasp-redis-p6379:6379-dredis查看redis状态:dockerps可以发现alreadywo...

.netcore3.0 Ocelot 制作简单负载均衡 (一)

开发环境环境版本:vs2019框架版本:.netCore 3.0注意:.netCore 3.1 Ocelot 暂时不支持我这种方式!1.项目创建创建的项目...

.netcore3.1 Abp+vue 实战 (一)

ABP前言一个应用程序框架和起点的ASP.NET MVC web应用程序与最佳实践和最流行的工具!(它是这样说的)1.项目的创建创建项...

.netcore3.1 consul服务集群

前言Consul是一种服务网络解决方案,可跨任何运行时平台以及公共或私有云连接和保护服务简而言之:集群下载地址环境版本:v...

.netcore3.1 Ocelot 与 Consul 熔断限流与缓存

目录与前言目录链接:.net core Ocelot 简单网关集群熔断架构整合目录基于上一篇文章展开 Ocelot 与 Consul 进行合并创建一...

.netcore 3.x 与 grpc

目录 本篇文章主要讲解如下内容 一。grpc在 .Net Core 3.x 中的应用 二。grpc如何分段上传图片 代码与实现过程比较简单,...

.netcore运用IServiceScope实现全局服务持续化注入

IServiceScope实现全局服务持续化注入[TOC] 创建 GloablePullWorkFlow.cs 类 public class GloablePullWorkFlow { ...

.netcore 通过Flurl验证k8s内部访问与获取环境变量

.netcore验证k8s内部访问与获取环境变量[TOC] 创建k8s-name项目 项目结构如下 实验过程 st=>start: k8s-demo项...

.netcore配置MarkDown的学习之路 (一)

前言MarkDown讲述 (开始使用)现在很多人都自己开发一个博客平台分享技术,老程序员都说干程序员如果没有开发出来一个...

.netcore 通过Flurl验证k8s内部访问与获取环境变量 (二)

.netcore验证k8s内部访问与获取环境变量 (二)[TOC] 修改k8s-name项目 NameController.cs [ApiController] ...

netcore项目时,Debug文件夹下多一个netcoreapp文件夹的解决办法

解决办法:编辑.csproj文件,在 &lt;TargetFramework&gt;netcoreapp2.1&lt;/TargetFramework&gt; 后加入“是否追加目标框...

netcore加Consul实现简单服务实例负载

今天,总结一下之前学习的Consul基础(后续如果有时间的话,再加上Ocelot部分):新建一个WebApi项目:模拟服务创建一个Web...

.netcore 3.1 运用 Json Patch 时的常见问题

.netcore 3.1 运用Json Patch[TOC] JSON Patch是一种使用API显式更新文档的方法。它本身是一种契约,用于描述如何修改文...

.netcore 解析JWT中间Base64报错

.netcore 解析JWT中间Base64报错[TOC] 解析时改为var jsonPayload = Base64UrlEncoder.Decode(basepayload); var claim...