首页 > 解决方案 > 如何在 Java 中将字节数组上传到 S3 存储桶?

问题描述

在 Spring Boot 应用程序中,我从远程服务读取图像文件,该文件返回字节数组,在标题中我可以检查文件扩展名是什么:

ResponseEntity<byte[]> result = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);

现在我想将此字节数组放在我在运行时决定的文件夹中的 S3 存储桶中,例如文件夹名称可以基于当前时间戳。我检查了 AmazonS3 类,但它似乎没有任何可以帮助我的 API?

如何才能做到这一点?

标签: spring-bootamazon-s3

解决方案


根据文档中的示例: https ://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/examples-s3-objects.html#upload-object

// Put Object. here 'bytes' is byte array.
PutObjectResponse   response = s3.putObject(PutObjectRequest.builder().bucket(bucketName).key(filePathLocation).build(),RequestBody.fromBytes(bytes));

推荐阅读