Я просто делаю это, чтобы очистить заголовки кэша, установленные веб-контейнером, и все заработало
response.reset(); //workaround IE restriction against streaming to cache from SSL
response.setContentType("myMIMEType");
response.setHeader("Content-Disposition", "attachment; filename=\"" + whateverGoesHere + "\"");
Затем отправьте файл в выходной поток. Очевидно, что если вы хотите, чтобы он отображался в окне браузера, а не в диалоговом окне сохранения файла, вы не можете использовать тип размещения attachment;
.