我尝试过两种方法从Internet Explorer打开一个zip文件,但都没有。
方法1
<li>
<a href="<%=ResolveUrl("~/HelpDocs/IMs_Guide.zip")%>">IM User Guide</a>
</li>
使用此方法,我可以看到“打开”对话框。如果我点击“打开”,它可能会尝试打开它。但该文件未打开。
方法2
<li>
<asp:LinkButton ID="btnDownloadUserGuide" Text="IM User Guide" runat="server" Visible="true" OnClick="btnDownloadUserGuide_Click"></asp:LinkButton>
<asp:HiddenField ID="hdnUserGuide" runat="server" Value="~/HelpDocs/IMs_Guide.zip" /></li>
代码背后(方法2)
protected void btnDownloadUserGuide_Click(object sender, EventArgs e)
{
if (!hdnUserGuide.Value.Trim().Equals(""))
{
//string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "\\HelpDocs\\IMs_Guide.zip";
string FilePath = HttpContext.Current.Server.MapPath("\\HelpDocs\\IMs_Guide.zip");
string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "\\HelpDocs\\IMs_Guide_to_New_Q-Track.zip";
Response.AppendHeader("content-disposition", "attachment; filename=" + "IMs_Guide.zip");
Response.AppendHeader("Cache-Control", "no-cache");
Response.ContentType = "Application/x-zip-compressed";
Response.WriteFile(FilePath);
//Response.End();
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
}
使用此方法,可能会尝试打开它,但看不到“打开”对话框。文件未打开。
如果尝试保存而不是打开文件,则可以。 如果文件类型更改为doc或pdf,则会出现相同的问题。
相同的代码(两种方法)适用于Chrome和Mozilla浏览器。