Индикатор загрузки файла, использующий реагирование на завершаемое будущее java8 - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь загрузить файл в Amazon S3. Чтобы сделать мой процесс загрузки асинхронным через Java, я сделал что-то вроде этого:

CompletableFuture.runAsynch(() -> {
        PutObjectRequest request = new PutObjectRequest(bucketName, keyName, new File(filePath));
        request.setGeneralProgressListener(new ProgressListener() {
            public void progressChanged(ProgressEvent progressEvent) {
                LOGGER.info("Transferred bytes: " + progressEvent.getBytesTransferred());
                }
        });
        PutObjectRequest upload = s3Client.putObject(request);
    }
);

Когда я вызываю этот web-api, он успешно возвращается и файл загружается в фоновом режиме, потому что он асинхронный. В журнале консоли я могу распечатать переданные байты. Но как показать индикатор выполнения в пользовательском интерфейсе, относительно этой асинхронной загрузки файла?

...