Asp.Net Core服务端处理请求过来的压缩格式

之前是直接传没有经过压缩的文件字节,有时文件过大的话,可能占宽带就多,宽带流量都是钱。后来有个想法,在客户端把文件进行压缩,把压缩的文件流发给服务端进行解压。

1,先修改项目中Startup.cs文件中ConfigureServices()方法中的代码:

复制代码
//注册压缩响应
services.AddResponseCompression((options) =>
{
	options.EnableForHttps = true;
	options.Providers.Add<Microsoft.AspNetCore.ResponseCompression.GzipCompressionProvider>();
});

2 ,先修改项目中Startup.cs文件中Configure(IApplicationBuilder app, IWebHostEnvironment env)方法中的代码:

复制代码
//使用gzip压缩
app.UseResponseCompression();

3,在控制层处理传过来压缩文件进行处理。

复制代码
var formFiles = (Microsoft.AspNetCore.Http.FormFileCollection)formCollection.Files;
byte[] bytes = new byte[] { };
foreach (var item in formFiles)
{
	bytes = DeZip(item.OpenReadStream());
}
string html2 = System.Text.Encoding.UTF8.GetString(bytes);


public static byte[] DeZip(Stream stream)
{
	byte[] buffer2 = new byte[1024];
	int length;

	using (var gz = new GZipStream(stream, CompressionMode.Decompress))
	{
		using (MemoryStream msTemp = new MemoryStream())
		{
			while ((length = gz.Read(buffer2, 0, buffer2.Length)) != 0)
			{
				msTemp.Write(buffer2, 0, length);
			}

			return msTemp.ToArray();
		}
	}

}
相关推荐
比兔代理5 分钟前
住宅代理IP的出口节点调度:ASN、BGP 与 IP 段信誉机制解析
linux·服务器·网络
AAA代码批发商6 分钟前
DAYS 38 TCP并发服务器模型详解
linux·网络·笔记·学习
Quanqiucard10 分钟前
监控球机联网总掉线?问题可能出在物联网卡上!
网络·物联网
czhc114007566312 分钟前
2026-09-03 博客:配置与密码 · 合并代码 · 超时排查
c#
三84418 分钟前
应急响应之服务、文件痕迹、网络、日志排查 + 工具清单
网络·应急响应·日志排查·文件痕迹排查·应急响应报告模板·服务排查
晏宁科技YaningAI26 分钟前
企业通信系统技术规划方法:从业务需求到可演进架构
网络·性能优化·架构·gateway·paas
昌原的儿子LEO33 分钟前
Linux 网络编程:select 与 epoll IO 多路复用详解
linux·网络·数据库
啊阿狸不会拉杆37 分钟前
《计算机网络-自顶向下方法》3.5 面向连接的运输:TCP 读书笔记
网络·tcp/ip·计算机网络
草莓熊Lotso38 分钟前
【Redis 初阶】特殊数据类型、渐进式遍历与数据库操作生产指南
linux·网络·数据库·redis·tcp/ip·缓存·bootstrap
芯盾时代1 小时前
金融新规全条款合规落地映射的解决方案
网络·网络安全·金融