Это примерно так, как я это делаю. Конечно, вам нужно будет адаптировать его к вашему сценарию.
PutObjectRequest request = new PutObjectRequest(bucket, key, file);
request.setProgressListener(new ProgressListener() {
public void progressChanged(ProgressEvent progressEvent) {
if (aborted.get()) {
throw new RuntimeException("Aborted");
}
}
});
try {
PutObjectResult result = s3.putObject(request);
} catch (AmazonClientException e) {
// Handle exception
}
Установите aborted
в true, чтобы остановить загрузку. Вам нужно будет распознать ваше исключение в catch
.