2013-09-23 72 views
0


我创建一个网页与下载选项

当用户点击他得到三个选项禁用保存,并保存为在下载文件ASP.NET

  • 打开下载选项
  • 保存
  • 另存为

我只是希望用户看到

  • 打开

我使用ASP.NET 4
谢谢

附:我试过谷歌,但没有好的

+0

我想问题是,当用户点击保存时,它不会节省你缩进的东西,如果是这样 - 直接解决这个问题,而不是通过禁用浏览器中的东西。 – Giedrius

+0

如果它被禁用它将适用于我 –

回答

0

你不能这样做,这将是一个安全风险。我认为接下来最好的事情是让用户向uri方案注册应用程序,这需要通过注册表在客户端PC上进行配置。 (对于windows)

当然,这意味着您的应用程序也需要支持此功能。你可以看到如何在这里工作:

http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

的最好的事情是,当应用程序安装槽安装有该寄存器,否则,你可以在每次手动提供可执行修改注册表,或做客户端,或让用户从网站下载可执行文件,这是可行的。

如果你正在开发客户端应用程序,你可以换个方式让它轮询web服务器,但这是一个更进化的解决方案。

+0

因此,这是不可能的 –

+0

不与JavaScript或标准浏览器功能,你可以随时诉诸Flash或Java来让这个工作。 –

+0

我必须在注册表中添加 –

0

根据你所服务的文件类型,您可以到下面的头添加到响应消息:

content-disposition: inline 

代码:

Response.AddHeader("content-disposition", "inline") 

这将告诉浏览器打开该文件立即而不是显示对话框。但它只会在浏览器支持文件类型时才起作用。

0

保存,另存为,打开是您的浏览器的选项。检查不同的浏览器,你会看到不同的选项。地狱,我可以用“打”,“打我”,“打我”和“看一看”选项制作浏览器。你无法从你的asp.net代码中控制它们。

你可以从你的代码做的最好的是指导你的浏览器中使用,以显示下载的内容内嵌或作为附件:

Response.AddHeader(“内容处置”,“附件;文件名= somefile。PDF格式 “)

Response.AddHeader(” 内容处置”, “内联”)

第一个选项会触发浏览器的下载选项(在你的情况会显示保存,另存为和打开按钮)在我的情况下,Chrome会自动保存文件而不询问任何东西

第二个选项将直接打开文件,但只有浏览器将c正确识别下载内容的内容类型,以及它是否可以显示。

例如,对于PDF文件需要设置:

Response.ContentType = “应用程序/ PDF格式”;

,你需要有Acrobat Reader软件,如果你使用的是旧的浏览器,或者你需要使用已经安装一个插件PDF一个较新的浏览器(IE7 +,铬等)

希望这有助于。