Я создаю документ Excel через Servlet. Когда я отправляю ответ клиенту (IE8), открывается диалоговое окно «Открыть/Сохранить», но для принятия мер требуется, чтобы пользователи дважды щелкали по выбору. Этого не происходит в Firefox. Я понятия не имею, почему это происходит. Ниже приведен соответствующий код, который создает соответствующие потоки.IE8 просит открыть/сохранить дважды файл .xls
result
содержит Excel XML.
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=TestFile.xls");
InputStream in = new ByteArrayInputStream(result.toString().getBytes("UTF-8"));
ServletOutputStream out = response.getOutputStream();
try
{
byte[] outputByte = new byte[4096];
while(in.read(outputByte, 0, 4096) != -1)
out.write(outputByte, 0, 4096);
}
finally
{
in.close();
out.flush();
out.close();
}
EDIT Я заметил, что ждет 5+ секунд перед нажатием кнопки вариант работает просто отлично. Кажется, что он только дважды спрашивает, когда сразу щелкает опцию.
Кажется, ошибка в IE: http://support.microsoft.com/ default.aspx? scid = http: //support.microsoft.com: 80/support/kb/articles/q238/5/88.asp & NoWebContent = 1, http://forums.asp.net/t/273944.aspx/ 1 – dragon66
Я нашел те же ссылки, но они довольно старые. Я надеялся, что, возможно, это было исправлено за последние 5 лет. –