У меня есть веб-страница (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