teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

情報の追加

2020/03/20 01:58

投稿

encho
encho

スコア182

title CHANGED
File without changes
body CHANGED
@@ -40,4 +40,38 @@
40
40
  <hr />
41
41
  <h2>Get S3 image via Controller</h2>
42
42
  <img src="image" />
43
+ ```
44
+
45
+ #Helper
46
+ ```
47
+ @Component
48
+ public class S3DownloadHelper{
49
+
50
+ private static final String S3_BUCKET_PREFIX = "s3://";
51
+ private static final String DIRECTORY_DELIMITER = "/";
52
+
53
+ @Value("sample")
54
+ private String bucketName;
55
+
56
+ @Autowired
57
+ ResourceLoader resourceLoader;
58
+
59
+ public BufferedImage getImage(String imageFilePath){
60
+ Resource resource = resourceLoader.getResource(
61
+ new StringBuilder()
62
+ .append(S3_BUCKET_PREFIX)
63
+ .append(bucketName)
64
+ .append(DIRECTORY_DELIMITER)
65
+ .append(imageFilePath)
66
+ .toString());
67
+ BufferedImage image = null;
68
+ //InputStreamで読み込み
69
+ try(InputStream inputStream = resource.getInputStream()){
70
+ image = ImageIO.read(inputStream);
71
+ }catch (IOException e){
72
+ e.printStackTrace();
73
+ }
74
+ return image;
75
+ }
76
+ }
43
77
  ```