禁用保存并在下载文件 ASP.NET 另存为

本文关键字:文件 ASP NET 另存为 下载 保存 | 更新日期: 2023-09-27 18:32:33


我正在创建一个带有下载选项

的网页当用户单击下载选项时,他会得到三个选项

  • 打开
  • 另存为

我只想让用户看到

  • 打开

我正在使用 ASP.NET 4
谢谢

附言我试过谷歌但没有好处

禁用保存并在下载文件 ASP.NET 另存为

你不能这样做,这将是一个安全风险。我认为下一个最好的办法是让用户将应用程序注册到 uri 方案,这是需要在客户端 PC 上通过注册表进行配置的东西。( 用于窗户 (

当然,这意味着您的应用程序也需要支持此功能。您可以在此处查看其工作原理:

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

最好的办法是在应用程序通过安装程序安装时具有此寄存器,否则您可以提供一个可执行文件来修改注册表,或者在每个客户端上手动执行此操作,或者让用户从站点下载可执行文件,这是可行的。

如果您正在开发客户端应用程序,则可以采用另一种方式并让它轮询Web服务器,但这当然是一个更进化的解决方案。

根据您提供的文件类型,您可以将以下标头添加到响应消息中:

content-disposition: inline

法典:

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

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

保存

、另存为、打开是浏览器的选项。检查不同的浏览器,您将看到不同的选项。见鬼,我可以制作一个带有"Hit","Hit Me","Hit Me"和"Take a Look"选项的浏览器。您无法从 asp.net 代码中控制它们。

您可以从代码中做的最好的事情是指示浏览器使用以下方法以内联方式或作为附件显示下载的内容:

Response.AddHeader("content-disposition", "attachment;filename=somefile.pdf"(

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

第一个选项将触发浏览器的下载选项(在您的情况下将显示"保存"、"另存为"和"打开"按钮(。就我而言,Chrome会自动保存文件,而不会询问我任何事情。

第二个选项将直接打开文件,但前提是浏览器将正确识别下载内容的内容类型并且它可以显示它。

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

Response.ContentType = "application/pdf";

如果您使用的是较旧的浏览器,或者需要使用已安装 PDF 插件的较新浏览器(IE7+、Chrome 等(,则需要具有 Acrobat Reader。

我希望这有所帮助。