Как загрузить изображение Java Spring приложение с Vaadin - PullRequest
0 голосов
/ 04 января 2019

Я хочу загрузить изображение и преобразовать его в байт [].Теперь я могу выбрать изображение с Vaadin Upload.Но изображение не загружено.

imgU = new Upload();
imgU.setCaption("Upload");
gridLayout.addComponent(imgU);

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Для загрузки потребуется Receiver для правильной работы.Затем вам нужно будет предоставить OutputStream (например, ByteArrayOutputStream ), а затем в последующем слушателе вы можете прочитать байты из вашего буфера.Я только что выпустил запись в блоге , которая объясняет это более подробно.

Для вашего случая использования я бы предложил использовать UploadField или ImagePreviewField компонент из дополнения EasyUploads .Используя их, вы также можете связывать, например, если вы сохраняете данные изображения в сущности JPA, или просто используете метод getValue() для возврата байта [] в слушателе изменения значения.

0 голосов
/ 04 января 2019

Вам необходимо добавить прослушиватель, который затем обрабатывает полученный файл.

Здесь вы найдете более подробную информацию и примеры: https://vaadin.com/components/vaadin-upload/java-examples

Затем он будет выглядеть так:

upload.addSucceededListener(event -> {
    Component component = createComponent(event.getMIMEType(),
            event.getFileName(), buffer.getInputStream());
    showOutput(event.getFileName(), component, output);
});
...