Окно выбора файла с диска

Коллеги, здравствуйте!

Нужно вызвать с UI стандартное окно выбора файла с диска, прочитать файл и записать его в атрибут типа ByteArray (отдельной сущности “File” в приложении; БД MS SQL). Не хочется писать такое окно с функциональностью с нуля, так как аналогичная функциональность реализована в платформе при работе с полями типа fileDescriptor.
Подскажите, как вызвать это имеющееся окно и обработать результаты выбора (версия платформы 7.2.10).

Спасибо!

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

multiUploadField.addQueueUploadCompleteListener(queueUploadCompleteEvent -> { 
        for (Map.Entry<UUID, String> entry : multiUploadField.getUploadsMap().entrySet()) { 
            UUID fileId = entry.getKey();
            String fileName = entry.getValue();

            File file = fileUploadingAPI.getFile(fileId); 
            ...
        }
1 симпатия

Михаил, спасибо! На сколько я понимаю, компонент загружает файл во временное хранилище клиентского уровня, откуда я его могу сложить к себе в базу… Вопрос только в том, чистится ли это временное хранилище автоматически?

Оно очищается автоматически по расписанию. Но по-хорошему, чтобы избежать риск его переполнения, если кому-то вздумается загружать много больших файлов, лучше самому удалять временный файл после его прочтения, вызвав метод:
com.haulmont.cuba.gui.upload.FileUploadingAPI#deleteFile

    /**
     * Remove a file from the temporary storage.
     * <br>
     * This method is automatically called from putFileIntoStorage() when the file is successfully stored on the
     * middleware.
     *
     * @param fileId temporary file ID
     * @throws FileStorageException in case of IO problems
     */
    void deleteFile(UUID fileId) throws FileStorageException;
1 симпатия