接收HTTP Gzip压缩请求

一、接收请求

[HttpPost]
        public string PostAsync()
        {
            var stream = HttpContext.Request.Body;
            var requData = new byte[HttpContext.Request.ContentLength.Value];
            await stream.ReadAsync(requData, 0, requData.Length);
            return GzipHandler.ReadGzip(requData); 
        }

二、解压内容

public static string ReadGzip(byte[] data)
        {
            string result = string.Empty;
            using (MemoryStream ms = new MemoryStream(data))
            {
                using GZipStream gzipStream = new GZipStream(ms, CompressionMode.Decompress);
                using StreamReader sr = new StreamReader(gzipStream, Encoding.UTF8);
                result = sr.ReadToEnd();
            }
            return result;
        }
posted @ 2020-10-29 21:40  ljsoftware  阅读(282)  评论(0)    收藏  举报