2013-09-26 85 views
3

我試圖將文件上傳到Amazon S3,沒什麼特別的。我設法做了實際的上傳,併成功上傳了文件。現在剩下的唯一問題是,如何取消或中止putobject要求取消Amazon S3 Put對象請求

回答

1

我遇到同樣的問題,並最終使用FileInputStream,而不是FilePutRequest並強行關閉流取消上傳。

這取消了放置請求,因爲它不能再次嘗試,因爲它缺少對文件的引用。

InputStream inputStream = new FileInputStream(file); 
ObjectMetadata metadata = new ObjectMetadata(); 
metadata.setContentLength(file.length()); 
PutObjectRequest request = new PutObjectRequest(bucket, key, inputStream, metadata); 

要取消上傳

inputStream.close(); 

很不幸,這填補了logcat的與ClientProtocolException堆棧跟蹤。

+0

但它給IOException試圖關閉inputStream。 –

+0

這是預期的,因爲你強制關閉流,所以趕上例外,並忽略它。你可以設置一個布爾標誌來區別於其他異常。 – dzeikei

+0

可以提供任何示例,因爲當我強制關閉輸入流時它會掛斷一段時間。 –