2011-06-13 64 views
2

有谁知道如何取消Amazon S3存储桶的文件上传。 我使用以下代码上传文件。Android Abort正在上传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(); 
} 

回答

2

这大致是我如何做到的。当然,您需要根据自己的情况进行调整。

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中识别您的例外情况。

+0

进度条停止.. 但文件上传后台没有显示进度 – 2011-06-13 07:20:11

+0

它适用于我。你如何确定该文件仍在传输? – 2011-06-13 07:23:54

+0

这是在Backgorund上传...我可以通过实施LOW LEVEL上传API
http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?mpListPartsJavaAPI.html – 2011-06-23 19:12:23