我正在尝试使用java进行多部分上传到Amazon 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部分的大小为:500000 第2部分的大小是:408800
但是,在这种情况下,我无法看到创建对象键。该文件未上传到s3。我的程序中没有看到任何异常。一切正常。我不知道为什么多部分上传失败而没有任何异常。我知道它用于上传较大的文件,但是如果我尝试使用相对较小的零件尺寸的较小文件则无法正常工作。
答案 0 :(得分:0)
它似乎仅在partSize为5 MB时才有效。
long partSize = 5242880;
我将其更改为4 MB并尝试了。它不起作用。我也将它改为8 MB并尝试过。那没起效。只有当partSize为5 MB时才能正常工作。
答案 1 :(得分:0)
根据multi-part part upload documentation.
除最后一部分外,每个部分的大小必须至少为5 MB。分段上传的最后一部分没有大小限制。
非常奇怪的是,上传小于5MB的多个部分(在测试期间发生在我身上)不会出错。