【发布时间】:2018-01-03 13:08:16
【问题描述】:
在 Java Spring boot 应用程序(使用 web starter 的 Web 服务)上工作,我需要将图像存储在 S3 存储桶中,有人可以建议我如何实现吗?
在 EC2 实例中托管应用程序
【问题讨论】:
-
:D 谢谢@ErwinBolwidt
标签: spring amazon-s3 spring-boot-test
在 Java Spring boot 应用程序(使用 web starter 的 Web 服务)上工作,我需要将图像存储在 S3 存储桶中,有人可以建议我如何实现吗?
在 EC2 实例中托管应用程序
【问题讨论】:
标签: spring amazon-s3 spring-boot-test
您可以将 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 boot AWS s3上传图片和删除图片。
【讨论】: