Наше приложение построено на платформе Spring и размещено на WAS 6.1. Он был разработан для Internet Explorer 6 (так как пользователи используют IE 6). Он открывает файл PDF через связь AJAX через контроллер. В фоновом режиме он вызывает mq для получения byte[]. Он записывается в буферизованном потоке вывода ответа.
Он отлично работает в среде разработки и тестирования, но в производственной среде он не всегда работает нормально. Иногда открывается, иногда нет. (Для балансировки нагрузки у нас есть более 1 сервера.)
Иногда строка запроса запроса задается в имени файла, и при попытке сохранить вложение во всплывающем окне появляется следующее сообщение об ошибке:
«Интернет не может загрузить ...... URL-адрес с abc.com. Не удалось записать файл в кэш»
ПФБ код:
byte[] letterByteArr = null;
letterByteArr = fetchFromMQ();
bufferedOutputStream = new BufferedOutputStream(response.getOutputStream());
response.reset();
response.setContentType(application/pdf);
response.setHeader(Content-disposition, attachment; filename=LP.pdf);
int length = letterByteArr.length;
response.setContentLength(length);
bufferedOutputStream.write(letterByteArr, 0, length);
bufferedOutputStream.flush();
Аналогичный фрагмент кода отлично работает в другом приложении, которое работает в другом jvm.
Может ли кто-нибудь предложить возможные решения этой проблемы, если они столкнулись во время реализации вашего кода? Где может быть возможная проблема в WAS, сети, IE или Abode?