Это действительно поведение IE по умолчанию.Он никоим образом не использует атрибут filename
заголовка Content-Disposition
для подготовки имени файла по умолчанию для Сохранить как .Вместо этого он использует последнюю часть информации о пути URL запроса.
Я рекомендую переписать ваш сервлет и / или ссылки таким образом, чтобы требуемое имя файла предоставлялось как часть информации о пути запроса, а не, например, какпараметр запроса.
Таким образом, вместо
<a href="/pdfservlet">View PDF</a>
или
<a href="/pdfservlet?file=foo.pdf">View PDF</a>
необходимо использовать
<a href="/pdfservlet/foo.pdf">View PDF</a>
При отображении наШаблон URL /pdfservlet/*
, вы можете при необходимости динамически захватить часть имени файла в сервлете следующим образом (например, чтобы найти нужный файл PDF и / или установить правильное значение filename
в заголовке для более приличных веб-браузеров):
String filename = request.getPathInfo().substring(1); // foo.pdf
Это, между прочим, независимо от того, будет ли он встроенным или вложенным.