spring-boot - 如何在 Java 中将字节数组上传到 S3 存储桶?
问题描述
在 Spring Boot 应用程序中,我从远程服务读取图像文件,该文件返回字节数组,在标题中我可以检查文件扩展名是什么:
ResponseEntity<byte[]> result = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
现在我想将此字节数组放在我在运行时决定的文件夹中的 S3 存储桶中,例如文件夹名称可以基于当前时间戳。我检查了 AmazonS3 类,但它似乎没有任何可以帮助我的 API?
如何才能做到这一点?
解决方案
根据文档中的示例: 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));
推荐阅读
- macos - 工作表中带有 NSPredicateEditor 的 macOS 暗模式 UI 错误
- html - 从 Xcode 上的 html 获取数据
- android - How can I make a Drawable array of ONE image?
- ios - 在openstreetmap多边形中间显示标记(iOS)
- babeljs - Babel 扩展
- elixir - 长生不老药中的退格转义 \b 不起作用
- node.js - JSON stringify 不适用于 json 对象数组
- sql - 在同一行中添加列字段值?
- java - JBehave空上下文
- xcode10 - 使用 Xcode10.1 归档应用程序自动自动签名无法解决“”目标的权利问题