Добрый день!
Версия плагина 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 всегда оказывается собака)))