【发布时间】:2014-05-19 08:59:35
【问题描述】:
我正在写一个HttpHandler,它会根据 GET 请求向客户端发送压缩文件。
这段代码运行良好,可以发送解压后的数据
using (var mem = new MemoryStream())
{
WriteMyDataToStream(mem);
context.Response.AddHeader("Content-Type", "application/octet-stream");
context.Response.AddHeader("Content-Disposition","attachment; filename=file.csv");
mem.WriteTo(context.Response.OutputStream);
}
但此代码会发送损坏的 zip 文件。
using (var mem = new MemoryStream())
{
var str = new GZipStream(mem, CompressionMode.Compress);
WriteMyDataToStream(str);
context.Response.AddHeader("Content-Type", "application/octet-stream");
context.Response.AddHeader("Content-Disposition","attachment; filename=file.zip");
mem.WriteTo(context.Response.OutputStream);
}
请告诉我我做错了什么?
【问题讨论】:
标签: c# memorystream ihttphandler gzipstream