Добрый день!
Версия плагина 2.1.
Есть необходимость хранить в сущности, назовём её “Предложение”, несколько файлов. Нашел на форуме тему, но она для версии плагина 1.5. В документации на версию 2.1 отсутствует данный раздел. Есть какая-либо встроенная функция для загрузки нескольких файлов в версии 2.1?
Пока решил проблему тем, что создал отдельную сущность SugFile
, и в ней добавил поле для хранения файла типа byte[]
, и к “Предложению” добавил поле типа List<SugFile>
.
Перед сохранением сущности SugFile
хотел добавить логику, при которой берется имя загруженного файла из поля FileUploadField
(viewComponent, инжектированный к код контроллера) с помощью метода getFileName()
или метода getUploadedFileName()
и устанавливается в поле сущности SugFile
с именем FileName
типа String
.
Однако, оба метода возвращают null
, хотя сам файл загрузился и его имя отображается рядом с кнопкой “Загрузка”.
Для чего это было нужно: Чтобы потом загрузить файл с помощью кнопки с таким же названием, каким оно было, а самое главное - с таким же расширением (потому что заранее формат файла неизвестен). Бин Downloader
принимает в метод download()
массива байтов и имя файла, котором он назовёт загружаемый файл, однако если не передать имя файла с расширением, он загрузит его без него.
Подскажите, пожалуйста, где может быть ошибка? И как можно сделать так, как мне нужно?))
@ViewComponent
private FileUploadField fileUploadField;
@Subscribe
public void onBeforeSave(final BeforeSaveEvent event) {
String fileName = fileUploadField.getUploadedFileName();
getEditedEntity().setFileName(fileName == null ? "sobaka" : fileName);
}
В итоге в поле FileName
всегда оказывается собака)))