Проблема следующая:
Юзеру после нажатия кнопки "Получить" по SOAP приходит файл в виде закодированной base64 строки.
Как я реализовал:
После нажатия кнопки "Получить" открывается новое окно с помощью JS, в котором происходит запрос с серверу. Запрос длится достаточно долго (секунд 5-10). После чего, если запрос прошел удачно, я декодирую строку, и отправляю заголовки
@header("Content-Type: application/pdf");
@header("Content-disposition: attachment; filename=downloaded.pdf");
и юзер получает долгожданный файл.
Что мне не нравится в данный момент, так это то, что по время запроса висит пустое бланковое окно, в котором я не могу даже написать "LOADING...", поскольку далее придется слать заголовки. Юзер далеко не всегда понимает в чем дело, и частенько закрывает это окно, подумав, что произошла ошибка, не дождавшись файла.
Собственно в этом и есть проблема.