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


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

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

    1. //注册压缩响应
    2. services.AddResponseCompression((options) =>
    3. {
    4. options.EnableForHttps = true;
    5. options.Providers.Add<Microsoft.AspNetCore.ResponseCompression.GzipCompressionProvider>();
    6. });

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

    1. //使用gzip压缩
    2. app.UseResponseCompression();

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

    1. var formFiles = (Microsoft.AspNetCore.Http.FormFileCollection)formCollection.Files;
    2. byte[] bytes = new byte[] { };
    3. foreach (var item in formFiles)
    4. {
    5. bytes = DeZip(item.OpenReadStream());
    6. }
    7. string html2 = System.Text.Encoding.UTF8.GetString(bytes);
    1. public static byte[] DeZip(Stream stream)
    2. {
    3. byte[] buffer2 = new byte[1024];
    4. int length;
    5. using (var gz = new GZipStream(stream, CompressionMode.Decompress))
    6. {
    7. using (MemoryStream msTemp = new MemoryStream())
    8. {
    9. while ((length = gz.Read(buffer2, 0, buffer2.Length)) != 0)
    10. {
    11. msTemp.Write(buffer2, 0, length);
    12. }
    13. return msTemp.ToArray();
    14. }
    15. }
    16. }

    该文为原创文章,转载请注明原文出处

    Author:靓仔建 w: gaolian1025

    (希望能帮助到各位,大家的支持是我创作最大动力!现在待业中,希望大家能推荐一下工作。(专注.net C# 6年))

  • 相关阅读:
    解决vue3 mitt路由跳转后 on事件获取不到值的奇葩问题解决
    爬虫技术之正则提取静态页面数据
    项目管理:项目经理如何进行管理?
    Github 标星 4w+,如何用 Python 实现所有算法
    9.15-词向量
    jzo3059 雕塑
    Linux 监控网络流量
    TensorFlow 2.10.0 已发布
    图像风格转换易语言代码
    Java 21 新特性:switch的模式匹配
  • 原文地址:https://blog.csdn.net/qq_33435149/article/details/134179996