2015-09-08 3 views
0

Я хотел бы сгенерировать ICS-файл (iCalendar) в моем приложении ASP.NET, а затем открыть его автоматически, не показывая диалоговое окно файла «Открыть/Сохранить/Отменить».ASP.NET - открыть файл без отображения диалогового окна

Этот сгенерированный файл будет открыт приложением по умолчанию для этих файлов.

Я попытался это:

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/outlook или Content-Disposition : attachment; вместо Content-Disposition : inline; .... без успеха.

Этот код работает, чтобы открыть ICS через диалог. Но я бы открыл его автоматически, не показывая этот диалог.

Как это можно сделать?

ответ

3

Вы не можете этого сделать. Настройки браузера пользователя определяют, будут ли они отображаться в диалоговом окне сохранения или он будет сохранен напрямую и откроется.

Представьте, если он гипотетически работал так, как вы этого хотите, - это была бы огромная уязвимость системы безопасности.

Смежные вопросы