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();
		}
	}

}
相关推荐
Blurpath3 小时前
免费代理IP服务有哪些隐患?如何安全使用?
网络·安全·ip代理·住宅ip
她说彩礼65万3 小时前
C# lock
c#
专注VB编程开发20年3 小时前
在 ASP.NET 中,HTTP 处理程序(HttpHandler)是处理 HTTP 请求的核心组件
iis·asp.net·asp.net core
Douglassssssss4 小时前
【深度学习】使用块的网络(VGG)
网络·人工智能·深度学习
python算法(魔法师版)4 小时前
网络编程入门(一)
大数据·网络·网络协议·计算机网络
网络小白不怕黑4 小时前
Python Socket编程:实现简单的客户端-服务器通信
服务器·网络·python
我不是程序猿儿4 小时前
【C#】Thread.Join()、异步等待和直接join
开发语言·c#
FAREWELL000755 小时前
Unity学习总结篇(1)关于各种坐标系
学习·unity·c#·游戏引擎
编程乐趣6 小时前
一个可拖拉实现列表排序的WPF开源控件
开源·c#·.net·wpf
君鼎7 小时前
muduo库TcpServer模块详解
linux·网络·c++