Browse Source

storage 주석 추가

pull/18/head
lkd9125(이경도) 9 months ago
parent
commit
e12943d79d
  1. 15
      pav-server/src/main/java/com/palnet/comn/storage/controller/StorageController.java
  2. 20
      pav-server/src/main/java/com/palnet/comn/storage/service/StorageService.java

15
pav-server/src/main/java/com/palnet/comn/storage/controller/StorageController.java

@ -22,11 +22,21 @@ public class StorageController {
@Autowired
private StorageService service;
/**
* 파일 업로드 기능
* @param file
* @return
*/
@PostMapping("/upload")
public ResponseEntity<String> uploadFile(@RequestParam(value = "file") MultipartFile file) {
return new ResponseEntity<>(service.uploadFile(file), HttpStatus.OK);
}
/**
* 파일 다운로드 기능.
* @param fileName
* @return
*/
@GetMapping("/download/{fileName}")
public ResponseEntity<ByteArrayResource> downloadFile(@PathVariable String fileName) {
byte[] data = service.downloadFile(fileName);
@ -39,6 +49,11 @@ public class StorageController {
.body(resource);
}
/**
* 파일 삭제 기능.
* @param fileName
* @return
*/
@DeleteMapping("/delete/{fileName}")
public ResponseEntity<String> deleteFile(@PathVariable String fileName) {
return new ResponseEntity<>(service.deleteFile(fileName), HttpStatus.OK);

20
pav-server/src/main/java/com/palnet/comn/storage/service/StorageService.java

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

Loading…
Cancel
Save