Информационная панель IE, скачать файл ... как мне код для этого? - PullRequest
0 голосов
/ 27 мая 2009

У меня есть веб-страница (asp.net), которая компилирует пакет, а затем перенаправляет пользователя в загружаемый файл через javascript (window.location = ....). Это сопровождается жесткой ссылкой на страницу в случае, если перенаправление не работает - эмуляция процесса загрузки на многих популярных сайтах. Когда информационная панель IE появляется вверху из-за ограниченных настроек безопасности, и пользователь нажимает на нее, чтобы загрузить файл, он перенаправляет пользователя на страницу, а не на файл загрузки, который обновляет страницу и удаляет жесткую ссылку.

Что здесь делает информационная панель? Разве он не должен отправить пользователя в место перенаправления? Я устанавливаю что-то неправильно в заголовках ответа на загрузку, или делаю что-то еще неправильно, чтобы отправить файл в первую очередь?

C # код:

m_context.Response.Buffer = false;
m_context.Response.ContentType = "application/zip";
m_context.Response.AddHeader("Content-Length", fs.Length.ToString());
m_context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}_{1}.zip", downloadPrefix, DateTime.Now.ToString("yyyy-MM-dd_HH-mm")));
//send the file

1 Ответ

0 голосов
/ 07 октября 2009

Когда пользователь соглашается загрузить файл с помощью информационной панели IE, IE перезагружает текущую страницу, а не страницу, которую пытается загрузить пользователь. Разница в том, что после перезагрузки страницы IE разрешит загрузку скрипта без запроса пользователя. Я не уверен, что думают об этом с точки зрения дизайна, но, похоже, это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...