当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 174874提问 提问时间:2023-11-07 08:10:34阅读次数: 74

最佳答案 问答题库748位专家为你答疑解惑

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

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

 

 

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Asp.Net Core服务端处理请求过来的压缩格式":http://eshow365.cn/6-34377-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!