Ваш showDocument
и запрос POST
апплета полностью независимы. Запрос POST выполняется вашим апплетом, и результат будет использоваться только внутри вашего апплета (но вы его вообще не читаете - и я не уверен, что он даже отправлен).
showDocument
, напротив, всегда выполняет запрос GET
- здесь нет способа указать браузеру использовать POST. Однако вы можете создать POST-запрос для новой HTML-страницы, используя мост JavaScript из вашего апплета.
Теоретически, это должно работать в любом случае, так как вы отправляете данные изображения также как часть URL, но может быть ограничение длины для данных URL на веб-сервере или в ссылке из Java-Plugin на браузер.
Вместо этого вы можете закодировать ваше изображение в data:
URL и использовать его для showDocument
.
URL url = new URL("data:image/png;base64," + code);
(Я не проверял, действительно ли класс URL в Java принимает это. Пожалуйста, попробуйте и сообщите. Я полагаю, что к нему применяются те же ограничения длины URL браузера.)
Альтернативой может быть сохранение изображения на сервере (по крайней мере, на короткое время). Затем вы использовали бы свой POST из апплета для загрузки данных, возвращая (сокращая) некоторый уникальный идентификатор, который затем передавали бы по showDocument
URL.