当我使用以下代码下载ZIP文件时,它似乎工作。但是,当我尝试打开下载的ZIP时,收到“无效的压缩文件夹”消息。当我在记事本中打开ZIP时,我发现它已经填充了HTML。
string fp = Server.MapPath("directory\\file.zip");
FileInfo file = new FileInfo(fp);
if (file.Exists)
{
Response.ClearContent();
Response.AddHeader("content-disposition","attachment; filename=" + file.Name);
Response.AddHeader("content-length", file.Length.ToString());
Response.ContentType = "application/zip";
Response.TransmitFile(file.FullName);
Response.End();
}
我似乎无法修复的问题可能与我尝试手动输入文件地址(http://website.com/downloads/file.zip
)有关,即使在我输入重定向(http://website.com/login.aspx
)时也是如此以管理员身份登录。任何在哪里寻找的指针都将非常感激。
答案 0 :(得分:1)
除了使用Response.ClearContent()
之外,还可以使用Response.ClearHeaders()
删除所有当前标头以及响应正文。
来自MSDN,HttpResponse.ClearContent Method:
ClearContent方法不会清除标题信息。