C# 在IE顶部没有安全栏的情况下,无法强制从asp.net页面下载文件
如何在asp.net页面中强制显示“另存为”对话框,而不让顶部的浏览器栏显示“帮助保护安全IE阻止此网站下载文件…单击此处获取选项” 然后,它会强制用户单击下载文件选项——但这是他们第一次这样做时,什么也没有发生 我需要做的是,文件下载框应该显示保存或打开等选项。。要下载的文件 我目前使用的asp.net/C代码是:C# 在IE顶部没有安全栏的情况下,无法强制从asp.net页面下载文件,c#,asp.net,internet-explorer,C#,Asp.net,Internet Explorer,如何在asp.net页面中强制显示“另存为”对话框,而不让顶部的浏览器栏显示“帮助保护安全IE阻止此网站下载文件…单击此处获取选项” 然后,它会强制用户单击下载文件选项——但这是他们第一次这样做时,什么也没有发生 我需要做的是,文件下载框应该显示保存或打开等选项。。要下载的文件 我目前使用的asp.net/C代码是: Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=myfilename");
Response.WriteFile(myfilename);
Response.End();
你知道为什么我不应该只获取文件下载框吗?尝试将内容类型改为“应用程序/强制下载” ASP.NET C#示例:
Response.AppendHeader("Content-Type", "application/force-download;");
try
{
string FileName = Request.QueryString["file"];
Response.AppendHeader("Content-Type", "application/force-download;");
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.WriteFile(@Server.MapPath("download/") + "\\" + FileName);
Response.End();
}
catch (Exception)
{
//Handle Error
}
全功能代码:
Response.AppendHeader("Content-Type", "application/force-download;");
try
{
string FileName = Request.QueryString["file"];
Response.AppendHeader("Content-Type", "application/force-download;");
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.WriteFile(@Server.MapPath("download/") + "\\" + FileName);
Response.End();
}
catch (Exception)
{
//Handle Error
}
如果IE在客户端上的配置或行为与之类似,则可能无法实现。在强制/更改浏览器行为方面,web应用程序只能做很少或什么也做不了。它是如何与Chrome或Firefox协同工作的?目前还没有对它们进行测试,但我看到它在IE中的一些网站上工作,在这些网站上,你没有收到任何浏览器警告——只有打开、保存、关闭对话框。