我使用此代码下载文件.zip,它在 chrome 中有效,但在 ie 中不起作用。
Response.Clear();
Response.ContentType = "application/zip";
Response.AddHeader("Content-Disposition",String.Format("attachment;filename={0}", "Planning agent" + ".zip"));
bool recurseDirectories = true;
using (ZipFile zip = new ZipFile())
{
zip.AddSelectedFiles("*", path, string.Empty, recurseDirectories);
zip.Save(Response.OutputStream);
}
Response.Flush();
Response.End();
Response.Clear();
这是控制器代码吗?如果是这样,您可以使用 Controller.File(Stream、String、String) 重载,让 asp.net 代码为您处理它。也许是这样的:
var mem = new MemoryStream();
using (ZipFile zip = new ZipFile())
{
zip.AddSelectedFiles("*", path, string.Empty, true);
zip.Save(mem);
}
mem.Position = 0;
return this.File(mem, "application/zip", "Planning agent.zip");
如果不是您的情况,我认为这与标题格式有关。