Ai
1 Star 1 Fork 0

Auser/HttpClientLite

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
MultipartFormDataContentExtensions.cs 2.68 KB
一键复制 编辑 原始数据 按行查看 历史
Auser 提交于 2025-04-28 13:34 +08:00 . no commit message
using System.Net.Http;
namespace HttpClientLite.Extensions;
/// <summary>
/// MultipartFormDataContent扩展函数
/// </summary>
public static class MultipartFormDataContentExtensions
{
/// <summary>
/// 添加参数数据
/// </summary>
/// <param name="formDataContent"></param>
/// <param name="name"></param>
/// <param name="value"></param>
public static void AddParameter(this MultipartFormDataContent formDataContent, string name, string value)
{
var dataContent = new StringContent(value);
formDataContent.Add(dataContent, name);
}
/// <summary>
/// 添加参数数据
/// </summary>
/// <param name="formDataContent"></param>
/// <param name="name"></param>
/// <param name="value"></param>
public static void AddParameter(this MultipartFormDataContent formDataContent, string name, byte[] value)
{
var dataContent = new ByteArrayContent(value);
formDataContent.Add(dataContent, name);
}
/// <summary>
/// 添加文件参数数据
/// </summary>
/// <param name="formDataContent"></param>
/// <param name="name"></param>
/// <param name="fileName"></param>
/// <param name="value"></param>
public static void AddFile(this MultipartFormDataContent formDataContent, string name, string fileName, byte[] value)
{
var dataContent = new ByteArrayContent(value);
formDataContent.Add(dataContent, name, fileName);
}
/// <summary>
/// 添加文件参数数据
/// </summary>
/// <param name="formDataContent"></param>
/// <param name="name"></param>
/// <param name="fileName"></param>
/// <param name="fileStream"></param>
public static void AddFile(this MultipartFormDataContent formDataContent, string name, string fileName, Stream fileStream)
{
var dataContent = new ByteArrayContent(StreamToByteArray(fileStream));
formDataContent.Add(dataContent, name, fileName);
}
/// <summary>
/// 添加文件参数数据
/// </summary>
/// <param name="formDataContent"></param>
/// <param name="name"></param>
/// <param name="fileName"></param>
/// <param name="filePath"></param>
public static void AddFile(this MultipartFormDataContent formDataContent, string name, string fileName, string filePath)
{
var dataContent = new ByteArrayContent(File.ReadAllBytes(filePath));
formDataContent.Add(dataContent, name, fileName);
}
private static byte[] StreamToByteArray(Stream inputStream)
{
using (var memoryStream = new MemoryStream())
{
inputStream.CopyTo(memoryStream);
return memoryStream.ToArray();
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/Ausername/HttpClientLite.git
git@gitee.com:Ausername/HttpClientLite.git
Ausername
HttpClientLite
HttpClientLite
master

搜索帮助