ASP.打开文件而不显示对话框

本文关键字:显示 对话框 文件 ASP | 更新日期: 2023-09-27 18:11:58

我想在ASP中生成一个ICS文件(iCalendar)。. NET应用程序,然后自动打开它,而不显示文件对话框"打开/保存/取消"。

生成的文件将由用户的默认应用程序为这些ics文件打开。

我试过了:

String sICSPath = Server.MapPath(".") + @"'Files'Test.ics";
String sFullText = File.ReadAllText(sICSPath);
sFullText = sFullText.Replace("#NAME#", "MyName");
this.Response.ContentType = "Content-Type: text/Calendar";
this.Response.AddHeader("Cache-Control", "no-cache, must-revalidate");
this.Response.AddHeader("Pragma", "no-cache");
this.Response.AddHeader("Content-Disposition", "inline; filename=calendar.ics");
this.Response.Write(sFullText);
this.Response.End();

我尝试了其他标题,如Content-Type : application/outlookContent-Disposition : attachment;,而不是Content-Disposition : inline; ....没有成功。

这段代码通过对话框打开ICS。但是我会自动打开它而不显示这个对话框。

这是怎么做到的呢?

ASP.打开文件而不显示对话框

你不能那样做。用户的浏览器设置决定他们是否会看到一个保存对话框,或者是否直接保存并打开。

想象一下,如果它像你希望的那样工作,那将是一个巨大的安全漏洞。