2013-08-30 3 views
0

Предположим, у меня есть src изображения. Я хочу сначала загрузить данные изображения на свой сервер, а затем выполнить некоторую обработку на нем, а затем вернуть его в свой html для отображения. Можно ли сделать это?
Мне не разрешено хранить обработанный файл на сервере, а затем ссылаться на него в атрибуте src.
Возможно ли передавать данные изображения с сервера на html?

Я использую сервер Java/Groovy.

+1

Вы можете установить сервлет как 'src' изображения. Вы передаете параметр в URL-адресе, чтобы идентифицировать изображение, которое хотите обработать, и там вы идете. –

+0

cool Я не знал, что сработал –

ответ

1

Прежде всего, как вы, вероятно, знаете, вам придется использовать форму HTML для отправки изображения на ваш сервлет.

Сервлет может обрабатывать его и возвращать изображение (content-type = image/jpeg) в выходной поток отклика.

byte[] imageBytes = getImageAsBytes(); 
response.setContentType("image/jpeg"); 
response.setContentLength(imageBytes.length); 
response.getOutputStream().write(imageBytes); 
+0

, и как упоминает Balint Bako, вы можете установить src тега img, чтобы указать на сервлет –

+0

Но, как вы упомянули, вы не хотите хранить изображение на сервере. Таким образом, сервлет не может получить доступ к клиенту, чтобы получить изображение, если вы его не загрузите. После того, как вы загрузили его, вы можете использовать трюк src для сервлета, но тогда это будет два запроса, и поскольку сервлет не будет выполнен с сохранением состояния, вам нужно будет сохранить, если на сервере. –

+0

изображение существует на другом сервере. У меня есть URL. Я передаю URL-адрес в качестве параметра сервлета (изнутри тега изображения src), тогда я могу просто загрузить данные файла в сервлет, получить «bufferedImage», обработать его и вернуть обратно к тегу –