当用户单击下载选项时,我正在创建一个带有下载选项的网页,
他得到三个选项
- 打开
- 节省
- 另存为
我只想让用户看到
- 打开
我正在使用 ASP.NET 4
谢谢
ps 我试过谷歌但没有用
当用户单击下载选项时,我正在创建一个带有下载选项的网页,
他得到三个选项
我只想让用户看到
我正在使用 ASP.NET 4
谢谢
ps 我试过谷歌但没有用
保存、另存为、打开是浏览器的选项。检查不同的浏览器,您将看到不同的选项。天哪,我可以制作一个带有“Hit”、“Hit Me”、“Hit Me Again”和“Take a Look”选项的浏览器。您无法从您的 asp.net 代码中控制它们。
您可以从您的代码中做的最好的事情是指示您的浏览器显示下载的内容内联或作为附件使用:
Response.AddHeader("content-disposition", "attachment;filename=somefile.pdf")
或者
Response.AddHeader("content-disposition", "inline")
第一个选项将触发您浏览器的下载选项(在您的情况下将显示“保存”、“另存为”和“打开”按钮)。在我的情况下,Chrome 会自动保存文件而不询问我任何内容。
第二个选项将直接打开文件,但前提是浏览器将正确识别下载内容的内容类型并且可以显示它。
例如,对于一个 PDF 文件,您需要设置:
Response.ContentType = "应用程序/pdf";
如果您使用的是旧版浏览器,或者您需要使用已安装 PDF 插件(IE7+、Chrome 等)的较新浏览器,则需要安装 Acrobat Reader
我希望这有帮助。
根据您提供的文件类型,您可以将以下标头添加到响应消息中:
content-disposition: inline
代码:
Response.AddHeader("content-disposition", "inline")
这将告诉浏览器立即打开文件而不是显示对话框。但它只有在浏览器支持文件类型时才有效。
你不能这样做,这将是一个安全风险。我认为下一个最好的事情是让用户将应用程序注册到 uri 方案,这是需要通过注册表在客户端 PC 上配置的东西。(对于窗户)
当然,这意味着您的应用程序也需要支持这一点。你可以在这里看到它是如何工作的:
http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
最好的办法是在通过安装程序安装应用程序时进行此注册,否则您可以提供一个可执行文件来修改注册表,或者在每个客户端上手动进行,或者让用户从站点下载一个可执行文件,这都是可行的.
如果您正在开发客户端应用程序,您可以采用另一种方式并让它轮询网络服务器,但这当然是一种更先进的解决方案。