【.net/.net core】使用form-data方式发起post请求

 使用场景:一般为在发起请求时,需要带着文件对象,即File类型参数。

public async void  PostByFormData() {//创建一个MultipartFormDataContent对象,构建multipart/form-data请求体MultipartFormDataContent pushMemberParams = new MultipartFormDataContent();string fileUrl= "https://localhost:8081/image/123.png";//模拟网络图片/文件// 使用HttpClient获取图片/文件数据byte[] fileBtyes = await DownloadImageBytes(fileUrl);// 创建HttpClient实例HttpClient client = new HttpClient();// 添加文件内容到multipart/form-data内容中pushMemberParams.Add(new StreamContent(new MemoryStream(fileBtyes )), "fileKey", "123.png");//此处需注意,文件需要添加为流内容,需要先将字节数组转换为流类型,然后添加pushMemberParams.Add(new StringContent("张三"), "Name");var response = await client.PostAsync("https://localhost:8082/saveFile", pushMemberParams);//https://localhost:8082/saveFil为处理请求接口地址// 确保响应成功response.EnsureSuccessStatusCode();// 读取响应内容var responseBody = await response.Content.ReadAsStringAsync();//需要返回内容可在此处添加,对应需要修改方法的返回类型}

将文件流转换为字节数组方法

/// <summary>/// 将文件流转换为字节数组/// </summary>/// <param name="filePath"></param>/// <returns></returns>public byte[] ConvertFileStreamToByteArray(string filePath){// 创建一个FileStream对象来读取文件using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)){// 获取文件的大小int length = (int)fileStream.Length;byte[] byteArray = new byte[length];// 从文件流中读取数据到字节数组中fileStream.Read(byteArray, 0, length);return byteArray;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【手撕C语言 第八集】函数栈帧的创建与销毁

文章目录 一、什么是函数栈帧&#xff1f;二、函数栈帧能解决什么问题呢&#xff1f;&#xff08;1&#xff09;局部变量是如何创建的&#xff1f;&#xff08;2&#xff09;为什么局部变量不初始化内容是随机的&#xff1f;&#xff08;3&#xff09;函数调用时参数是如何传递…

MySQL修炼手册15:备份与恢复:保障数据安全的重要手段

目录 写在开头1 数据备份的重要性1.1 数据备份与恢复的基本概念1.1.1 数据备份的定义1.1.2 数据恢复的定义1.1.3 恢复点和恢复时间 1.2 不同备份方式的比较1.2.1 按备份内容和方式划分1.2.2 按备份的数据量和方式划分1.2.3 备份方式的选择 2 使用mysqldump进行备份2.1 mysqldum…

电磁兼容设计要点

电磁兼容的问题往往发生于高频状态下&#xff0c;个别情况除外&#xff08;Dips电压暂降与中断&#xff09;除外。高频思维&#xff0c;总而言之&#xff0c;就是器件的特性、电路的特性&#xff0c;在高频情况下和常规中低频状态下是不一样的&#xff0c;如果仍然按照普通的控…

Go 定时器:如何避免潜在的内存泄漏陷阱

这篇文章将探讨的是 Go 中如何高效使用 timer&#xff0c;特别是与select 一起使用时&#xff0c;如何防止潜在的内存泄漏问题。 引出问题 先看一个例子&#xff0c;我们在 Go 中的 select 使用定时器&#xff0c;实现为消息监听加上超时能力。 核心代码&#xff0c;如下所示…

暴雨信息:更大限度激发数字消费潜力

内需是中国经济发展的基本动力&#xff0c;也是满足人民日益增长的美好生活需要的必然要求。作为扩大内需的主动力和畅通国内大循环的关键环节&#xff0c;消费既是生产的最终目的和动力&#xff0c;也是人民对美好生活需要的直接体现。着力扩大国内需求&#xff0c;要把恢复和…

已解决Error:AttributeError: module ‘numpy‘ has no attribute ‘bool‘.

文章目录 引言报错分析解决方案1&#xff1a;降低NumPy版本解决方案2&#xff1a;更改NumPy源码 结尾 引言 在Python编程的世界里&#xff0c;NumPy无疑是一个不可或缺的库。它不仅在处理大规模数值计算中发挥着核心作用&#xff0c;而且为众多开发者提供了强大的支持。然而&a…

无刷电机学习-方波电调 程序篇1(AM32)

一、AM32简介 AM32 固件专为 ARM 处理器设计&#xff0c;用于控制无刷电机 (BLDC)。该固件旨在安全、快速、平滑、快速启动和线性油门。它适用于多种车辆类型和飞行控制器。 AM32具有以下特点&#xff1a; 可通过 betaflight 直通、单线串行或 arduino 升级固件伺服 PWM、Dsh…

Spring RabbitMQ那些事(3-消息可靠传输和订阅)

目录 一、序言二、生产者确保消息发送成功1、为什么需要Publisher Confirms2、哪些消息会被确认处理成功 三、消费者保证消息被处理四、Spring RabbitMQ支持代码示例1、 application.yml2、RabbigtMQ配置3、可靠生产者配置4、可靠消费者配置5、测试用例 一、序言 在有些业务场…

外包干了3年,跑路了。。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 故事的开始 最近这几天有点忧伤&#xff0c;因为带我的师傅要跑…

Vue3 Suspense 优雅地处理异步组件加载

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

力扣 | 73. 矩阵置零

public class Problem_73_MatrixToZero {public void setZeros(int[][] matrix) {int m matrix.length;int n matrix[0].length;boolean flagRow false;boolean flagCol false;//先记录第一行本身是否包含0for (int i 0; i < n; i) {if (matrix[0][i] 0) flagRow tru…

使用Burp Collaborator验证无回显的RCE漏洞

使用Burp Collaborator验证无回显的RCE漏洞 1.概述2.Collaborator演示3.通过DNS查找外带命令执行结果1.概述 当应用程序容易受到命令注入攻击,但命令是异步执行时,就会发生异步操作系统命令注入漏洞。这意味着它对应用程序的响应没有明显影响 Burp Collaborator 可以帮助您…

Jenkins如何重置build number?

Jenkins如何重置build number&#xff1f; Jenkins调试过程中, 难免会产生很多无用的编译号&#xff0c;但需要清除无用build数据的时候&#xff0c;可以使用Script Consle来达到目的. 解决方案 直接说答案。 在脚本中填写如下语句&#xff1a; def jobName "xxx-Build&…

leetcode—— 腐烂的橘子

腐烂的橘子 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到…

【Linux C | 进程】Linux 进程间通信的10种方式(1)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

log4j2配置文件命名及优先级

log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式&#xff0c;2.x版本配置文件后缀名只能为".xml",“.json"或者”.jsn"。 命名规则 默认配置文件名&#xff1a; log4j2.xml 或 log4j2.json 测试或特定环境配置文件名&#xff1a;可以以 -t…

Kafka(二)原理详解

一 、kafka核心总控制器&#xff08;Controller&#xff09; 在Kafka集群中会有一个或者多个broker&#xff0c;其中有一个broker会被选举为控制器&#xff08;Kafka Controller&#xff09;&#xff0c;它负责管理整个集群中所有分区和副本的状态。 作用&#xff1a;leader副…

算法训练营第五十七天|647. 回文子串 516.最长回文子序列

目录 Leetcode647. 回文子串Leetcode516.最长回文子序列 Leetcode647. 回文子串 文章链接&#xff1a;代码随想录 题目链接&#xff1a;647. 回文子串 思路&#xff1a;动态规划 class Solution { public:int countSubstrings(string s) {vector<vector<bool>> dp…

【wayn商城】本地开发指南

这篇文章给大家带来我自己写的开源项目【wayn商城】的本地开发指南&#xff0c;帮助各位朋友在本地快速运行【wayn商城】&#xff0c;避免踩坑&#xff0c;减少不必要的精力在软件下载安装上。 &#x1f525;waynboot-mall 是一套全部开源的 H5 商城项目&#xff0c;实现了一套…

Jedis(一)与Redis的关系

一、Jedis介绍&#xff1a; 1、背景&#xff1a; Jedis是基于Java语言的Redis的客户端&#xff0c;Jedis Java Redis。Redis不仅可以使用命令来操作&#xff0c;现在基本上主流的语言都有API支持&#xff0c;比如Java、C#、C、PHP、Node.js、Go等。在官方网站里有一些Java的…