2013-06-12 31 views
1

我正嘗試使用java將分段上傳到Amazon S3。我正在使用下面鏈接的代碼。亞馬遜s3分段上傳 - 未上傳

http://docs.aws.amazon.com/AmazonS3/latest/dev/llJavaUploadFile.html

String existingBucketName = "My Bucket Name"; 
//For the below keyname, an object gets created inside my bucket. 
String keyName    = "keyname"; 
//The file that am uploading to s3. 
String filePath   = "F:/sample.pptx"; 

方案1:該文件被上傳的大小31627。我使用partSize作爲500000來指定單個零件的尺寸。

long partSize = 500000; 

由於文件的大小小於partSize,文件被上傳到S3。

場景2:要上傳的文件大小爲908800。我使用相同的partSize。

該文件被拆分爲兩部分,大小如下。

的第1部分的尺寸爲1:50萬 的第2部分的尺寸爲:408800

不過,我無法看到在這種情況下,越來越創建的對象關鍵。該文件未上傳到s3。我的程序中沒有看到任何異常。一切正常。我不知道爲什麼多部分上傳失敗沒有任何例外。我知道它用於上傳較大的文件,但是如果我嘗試使用較小的部件尺寸的較小文件,則無法正常工作。

回答

0

它似乎只在partSize爲5 MB時才起作用。

long partSize = 5242880;

我將其更改爲4 MB並嘗試使用。它沒有工作。我也將其更改爲8 MB並嘗試。它不起作用。只有partSize爲5 MB時才能正常工作。

+0

嗨Ramesh, 你有什麼想法如何通過分段上傳與sse-kms上傳文件? 我可以通過正常上傳來完成此操作,但我不知道如何使用分段上傳指定加密。 我在這裏發佈了一個問題:https://stackoverflow.com/questions/47328843/s3-multipart-upload-with-sse-kms –

0

按照multi-part part upload documentation.

每個部分必須是至少5 MB的大小,除了最後一部分。分段上傳的最後部分沒有大小限制。

很奇怪的是,它不會給上傳小於5MB的多個部分(在測試過程中發生在我身上)提供錯誤。