我强烈建议
setContentLength()on
Objectmetadata,因为:
..如果未提供,则库将必须 缓冲 输入流的内容才能对其进行计算。
(..可预料的是,这将导致“足够大”的文件上的内存不足。)
来源:PutObjectRequest
javadoc
应用于您的代码:
// ... Objectmetadata omd = new Objectmetadata(); // a tiny pre line, but with a "huge" information gain and memory saving!;) omd.setContentLength(file.length()); s3Client.putObject(new PutObjectRequest(ABuck, AFkey, file.getInputStream(), omd).withCannedAcl(CannedAccessControlList.PublicRead)); // ...



