? ? ? ? 之前是直接傳沒有經(jīng)過壓縮的文件字節(jié),有時(shí)文件過大的話,可能占寬帶就多,寬帶流量都是錢。后來有個(gè)想法,在客戶端把文件進(jìn)行壓縮,把壓縮的文件流發(fā)給服務(wù)端進(jìn)行解壓。
1,先修改項(xiàng)目中Startup.cs文件中ConfigureServices()方法中的代碼:
//注冊壓縮響應(yīng)
services.AddResponseCompression((options) =>
{
options.EnableForHttps = true;
options.Providers.Add<Microsoft.AspNetCore.ResponseCompression.GzipCompressionProvider>();
});
2?,先修改項(xiàng)目中Startup.cs文件中Configure(IApplicationBuilder app, IWebHostEnvironment env)方法中的代碼:
//使用gzip壓縮
app.UseResponseCompression();
3,在控制層處理傳過來壓縮文件進(jìn)行處理。
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();
}
}
}
?文章來源地址http://www.zghlxwxcb.cn/news/detail-741066.html文章來源:http://www.zghlxwxcb.cn/news/detail-741066.html
?
到了這里,關(guān)于Asp.Net Core服務(wù)端處理請求過來的壓縮格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!