Почему IE не показывает диалог загрузки файла для PDF с GWT Window.open ()? - PullRequest
1 голос
/ 13 июля 2011

Мы создаем PDF-документы для наших клиентов и предоставляем им сервлет.Следующий код работает с Firefox, Chrome и Opera, но не с любой версией IE.Всплывающее окно мигает только с IE, но ничего не происходит.Однако мы можем отобразить диалоговое окно загрузки файла, сделав прямой запрос к сервлету из адресной строки в IE.Мы пробовали использовать несколько типов ContentTypes (application / download, application / x-download и т.1006 *

byte[] bytes = getFileAsByteArray();
BufferedInputStream in = new BufferedInputStream(new ByteArrayInputStream(bytes));
BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
response.setHeader("Content-Disposition", "attachment; filename=document.pdf");
response.setContentType("application/octet-stream");
response.setContentLength(bytes.length);
byte[] buffer = new byte[8192];
for (int length = 0; (length = in.read(buffer)) > 0;) {
    out.write(buffer, 0, length);
}
out.flush();
out.close();

Есть мысли по этому поводу?

Ответы [ 4 ]

2 голосов
/ 15 июля 2011

Попробуйте это:

Content-Disposition: inline

вместо:

Content-Disposition: attachment;filename=document.pdf

Попробуй это, потом скажи что-нибудь Обнаружил, что если я использую inline, то я не должен использовать filename = document.pdf, это НЕ будет работать в IE. (другие браузеры игнорируют это)

Вы можете прочитать это здесь: http://indiwiz.com/2009/03/11/forcing-http-download/

0 голосов
/ 29 февраля 2012

Попробуйте:

Window.open(GWT.getHostPageBaseURL()+URL,"","");

Это может сработать! Я использую:

com.google.gwt.user.client.Window.open(GWT.getHostPageBaseURL()+URL, "", "");   

и работает нормально

0 голосов
/ 13 июля 2011

Если вы не можете решить проблему - попробуйте изменить что-то внутри вашей проблемы!Попробуйте отправить ziped pdf-файл или другой контент.Это должно помочь вам найти корень проблемы.Если все будет работать с zip-файлом, вам не нужно отправлять pdf-файл

0 голосов
/ 13 июля 2011

Это может быть связано с проблемой плагина pdf. Ссылка на сайт Adobe для более подробной информации

...