想在 .NET 10 的 Minimal APIs 中,通过 GZipStream 返回一个 gzip 文件供下载,请问如何实现?
英文提问:How to respond with a gzip file download via GZipStream in ASP.NET Core Minimal APIs?
通过 AI 没有找到满意的答案, 自己通过下面的代码实现了
app.MapGet("/sitemap.xml.gz", () =>
{
return Results.Stream(
async stream =>
{
await using var gzipStream = new GZipStream(stream, CompressionLevel.Optimal);
await WriteSiteMapAsync(gzipStream);
},
"application/gzip");
async Task WriteSiteMapAsync(Stream stream)
{
// ...
}
});