在执行Response.WriteFile时隐藏“打开”按钮 - ASP.NET

时间:2010-01-29 17:27:54

标签: .net asp.net

我正在使用:

Response.Clear();
Response.ContentType = "pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=test.pdf");
Response.WriteFile(this.txtFileName, true);            
Response.Flush();
Response.End();

显示下载文件的提示,默认情况下提示符为“打开”,“保存”和“取消”按钮,默认情况下选择“取消”。

我是否可以隐藏“打开”按钮并强制用户保存或取消?

4 个答案:

答案 0 :(得分:1)

不,隐藏“打开”按钮是不可能的。此行为是(并且应该)由用户代理控制。

答案 1 :(得分:1)

这是浏览器提供的标准对话框。据我所知,没有办法搞定它,也没有理由这样做。

你可能应该尝试教你的用户如何使用浏览器(打开一个大文件的问题很常见,通常最终会在某个临时文件夹中结束),而不是试图改变它的行为。

答案 2 :(得分:0)

您可能想尝试使用此行:

Response.ContentType = "application/octet-stream";

当您将其设置为PDF时,浏览器会尝试查看系统上是否有应用程序来查看PDF(通常是这样)。如果是这样,你会打开一个按钮。

我认为,如果将其设置为通用二进制/八位字节流,浏览器将只允许它们保存。

答案 3 :(得分:0)

Response.AppendHeader(“X-Download-Options”,“noopen”)

除了AppendHeader的任何其他设置