在 AWS S3 存储桶中使用 spring 引导实现文件上传的最佳方法是什么?

What is the best way to implement file upload using spring boot in AWS S3 bucket?

正在开发 Java Spring 启动应用程序(使用 Web 启动器的 Web 服务),我需要将图像存储在 S3 存储桶中,有人可以建议我如何实现吗?

在 EC2 实例中托管应用程序

您可以将 spring-cloud-aws 与支持 s3 的 ResourceLoader 一起使用:

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:aws-context="http://www.springframework.org/schema/cloud/aws/context"
   xsi:schemaLocation="http://www.springframework.org/schema/cloud/aws/context http://www.springframework.org/schema/cloud/aws/context/spring-cloud-aws-context.xsd">
    <aws-context:context-credentials>
       <!-- ... -->
     </aws-context:context-credentials>
    <aws-context:context-resource-loader/>
</beans>

并将其注入到您的 bean 中:

public class SimpleResourceLoadingBean {

@Autowired
private ResourceLoader resourceLoader;

public void writeResource() throws IOException {
        Resource resource = this.resourceLoader.getResource("s3://myBucket/rootFile.log");
        WritableResource writableResource = (WritableResource) resource;
        try (OutputStream outputStream = writableResource.getOutputStream()) {
            outputStream.write("test".getBytes());
        }
    }
}

您可以在此处找到文档: http://cloud.spring.io/spring-cloud-static/spring-cloud-aws/1.2.1.RELEASE/#_uploading_files

终于找到解决办法了 参考下面的博客实现 Spring 启动 AWS s3 上传图像和删除图像。

Link Spring boot s3 upload