之前是直接传没有经过压缩的文件字节,有时文件过大的话,可能占宽带就多,宽带流量都是钱。后来有个想法,在客户端把文件进行压缩,把压缩的文件流发给服务端进行解压。
- //注册压缩响应
- services.AddResponseCompression((options) =>
- {
- options.EnableForHttps = true;
- options.Providers.Add<Microsoft.AspNetCore.ResponseCompression.GzipCompressionProvider>();
- });
- //使用gzip压缩
- app.UseResponseCompression();
- 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();
- }
- }
-
- }
该文为原创文章,转载请注明原文出处
Author:靓仔建 w: gaolian1025
(希望能帮助到各位,大家的支持是我创作最大动力!现在待业中,希望大家能推荐一下工作。(专注.net C# 6年))