#android #amazon-s3
#Android #amazon-s3
Вопрос:
Кто-нибудь знает, как прервать загрузку файла для корзины Amazon S3. я использую следующий код для загрузки файла.
transferManager = new TransferManager(amazonClient);
upload = transferManager.upload(BUCKET_NAME, FILE_NAME, file);
try {
upload.addProgressListener(listner);
upload.waitForUploadResult();
AppLog.logString("Unable to upload file, upload was aborted");
}
catch (AmazonClientException amazonClientException) {
System.out.println("Unable to upload file, upload was aborted.");
amazonClientException.printStackTrace();
}
Ответ №1:
Примерно так я это делаю. Конечно, вам нужно будет адаптировать ее к вашему сценарию.
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
.
Комментарии:
1. Индикатор выполнения останавливается.. но файл загружается в фоновом режиме без отображения прогресса
2. У меня это работает. Как вы определяете, что файл все еще передается?
3. Загрузка происходила в фоновом режиме… Я могу достичь этого, внедрив низкоуровневый API ЗАГРУЗКИ<br/> docs.amazonwebservices.com/AmazonS3/latest/dev / …