У меня есть сервлет, который на лету создает PDF-файл для ответа на основе некоторых параметров запроса. Когда я пытаюсь открыть/загрузить этот файл в IE, я получаю следующее сообщение:
"Невозможно загрузить [имя файла] с [сайта]. Невозможно открыть этот сайт в Интернете. Запрошенный сайт недоступен или не может быть найден. Повторите попытку позже".
Это то, что я установил в ответ:
response.setHeader("Content-Disposition", "attachment;filename=" + title + ".pdf");
response.setContentType("application/pdf");
С другими браузерами все работает нормально.
Обновление:
Я пробовал встроенный вместо вложения. Это откроет новое окно вместо диалогового окна открытия/сохранения (я бы предпочел иметь диалоговое окно), сообщение об ошибке исчезнет, но новое окно просто пусто в IE. Все еще работает с другими браузерами.
Я пробовал простые, двойные и без кавычек имя файла, которое не содержит неэкранированных символов. Двойные кавычки и отсутствие кавычек не имеют значения, но к имени файла добавляются одинарные кавычки, чего я, конечно, не хочу.
Имя файла не содержит неэкранированных символов.
Я проверил тесты на этой странице, где говорится, что вложение с именем файла без кавычек передается для всех браузеров. Это то, что использовалось с самого начала.
Добавление заголовка Content-Lenght не имеет значения.
Кстати, Flying Saucer используется для создания PDF.