|
|
@ -25,6 +25,11 @@ public class StorageService { |
|
|
|
@Autowired |
|
|
|
@Autowired |
|
|
|
private AmazonS3 s3Client; |
|
|
|
private AmazonS3 s3Client; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* 파일 업로드 기능. |
|
|
|
|
|
|
|
* @param file |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
public String uploadFile(MultipartFile file) { |
|
|
|
public String uploadFile(MultipartFile file) { |
|
|
|
File fileObj = convertMultiPartFileToFile(file); |
|
|
|
File fileObj = convertMultiPartFileToFile(file); |
|
|
|
String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename(); |
|
|
|
String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename(); |
|
|
@ -34,6 +39,11 @@ public class StorageService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* 파일 다운로드 기능. 아마존 S3에 있는 데이터 다운로드해주는 기능. |
|
|
|
|
|
|
|
* @param fileName |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
public byte[] downloadFile(String fileName) { |
|
|
|
public byte[] downloadFile(String fileName) { |
|
|
|
S3Object s3Object = s3Client.getObject(bucketName, fileName); |
|
|
|
S3Object s3Object = s3Client.getObject(bucketName, fileName); |
|
|
|
S3ObjectInputStream inputStream = s3Object.getObjectContent(); |
|
|
|
S3ObjectInputStream inputStream = s3Object.getObjectContent(); |
|
|
@ -47,12 +57,22 @@ public class StorageService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* 아마존 S3에 있는 데이터 삭제하는 기능. |
|
|
|
|
|
|
|
* @param fileName |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
public String deleteFile(String fileName) { |
|
|
|
public String deleteFile(String fileName) { |
|
|
|
s3Client.deleteObject(bucketName, fileName); |
|
|
|
s3Client.deleteObject(bucketName, fileName); |
|
|
|
return fileName + " removed ..."; |
|
|
|
return fileName + " removed ..."; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* MultipartFile로 받은 객체를 File 객체로 변환 |
|
|
|
|
|
|
|
* @param file |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
private File convertMultiPartFileToFile(MultipartFile file) { |
|
|
|
private File convertMultiPartFileToFile(MultipartFile file) { |
|
|
|
File convertedFile = new File(file.getOriginalFilename()); |
|
|
|
File convertedFile = new File(file.getOriginalFilename()); |
|
|
|
try (FileOutputStream fos = new FileOutputStream(convertedFile)) { |
|
|
|
try (FileOutputStream fos = new FileOutputStream(convertedFile)) { |
|
|
|