Amazon S3
SpringBootでS3にアップロード
Clientらしきもの
UploadService.java
private AmazonS3 getAmazons3() {
return AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey)))
.withRegion(region)
.build();
}
S3にアップロード
UploadService.java
public String putObject(MultipartFile file, String fileName) {
try {
InputStream inputStream = file.getInputStream();
String path = 『保存する名前、ここでランダムの名前生成など』
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentType(file.getContentType());
objectMetadata.setContentLength(Integer.valueOf(inputStream.available()).longValue());
getAmazons3().putObject(bucketName, path, inputStream, objectMetadata);
アップロードしたものを特別取得URLを生成して返してくる
アップロードされたものを限定しないと、特別scriptなどのリンクが生成されてアクセスすると実行されてしまうので要注意!
UploadService.java
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, path)
.withMethod(HttpMethod.GET);
final URL fileUrl = getAmazons3().generatePresignedUrl(generatePresignedUrlRequest);
return fileUrl.toString();
}catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
Author And Source
この問題について(Amazon S3), 我々は、より多くの情報をここで見つけました https://qiita.com/mingkai-thang/items/3f6967fcafa003dc2f82著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .