Хочу хранить картинки и рисунки не в файловом хранилище в виде файлов. А в базе данных в специально предназначенном для этого поле ByteArea. Естественно что код примера обработки файла в контроллере, я уже весь изучил, но он заточен на запись файла в файловое хранилище. А мне нужно чтобы он писал в поле image ByteArea PostgreSQL.
Вот код из примера, судя по всему мне его надо как-то немного модифицировать, чтобы записать файл в поле Image.
@Inject
private FileUploadField image_idField;
@Inject
private FileUploadingAPI fileUploadingAPI;
@Inject
private DataManager dataManager;
@Inject
private Notifications notifications;
@Subscribe("image_idField")
public void onUploadFieldFileUploadSucceed(FileUploadField.FileUploadSucceedEvent event) {
File file = fileUploadingAPI.getFile(image_idField.getFileId());
if (file != null) {
notifications.create()
.withCaption("File is uploaded to temporary storage at " + file.getAbsolutePath())
.show();
}
FileDescriptor fd = image_idField.getFileDescriptor();
try {
fileUploadingAPI.putFileIntoStorage(image_idField.getFileId(), fd);
} catch (FileStorageException e) {
throw new RuntimeException("Error saving file to FileStorage", e);
}
dataManager.commit(fd);
notifications.create()
.withCaption("Uploaded file: " + image_idField.getFileName())
.show();
}
@Subscribe("image_idField")
public void onUploadFieldFileUploadError(UploadField.FileUploadErrorEvent event) {
notifications.create()
.withCaption("File upload error")
.show();
}
}