diff --git a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/FileServerApplication.java b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/FileServerApplication.java index ef9b67cb..303fb265 100644 --- a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/FileServerApplication.java +++ b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/FileServerApplication.java @@ -2,7 +2,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.data.jpa.repository.config.EnableJpaAuditing; +@EnableJpaAuditing @SpringBootApplication(scanBasePackages = { "com.jootalkpia.file_server", "com.jootalkpia.passport", diff --git a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/controller/FileController.java b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/controller/FileController.java index 9ea07887..2b5b82e4 100644 --- a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/controller/FileController.java +++ b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/controller/FileController.java @@ -75,8 +75,8 @@ public ResponseEntity uploadFileChunk( @RequestParam("tempFileIdentifier") String tempFileIdentifier, @RequestParam("totalChunks") Long totalChunks, @RequestParam("totalSize") Long totalSize, - @RequestParam("chunkInfo.chunkIndex") Long chunkIndex, - @RequestPart("chunkInfo.chunk") MultipartFile chunk) { + @RequestParam("chunkIndex") Long chunkIndex, + @RequestPart("chunk") MultipartFile chunk) { log.info("청크 업로드 요청: chunkIndex={}, totalChunks={}", chunkIndex, totalChunks); diff --git a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/entity/Files.java b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/entity/Files.java index 098b403a..704f88ac 100644 --- a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/entity/Files.java +++ b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/entity/Files.java @@ -11,16 +11,13 @@ @Entity @Getter @Setter -public class Files { +public class Files extends BaseTimeEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long fileId; - private String url; private String urlThumbnail; private String fileType; private Long fileSize; private String mimeType; - private LocalDateTime createdAt; - private LocalDateTime updatedAt; } diff --git a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/service/FileService.java b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/service/FileService.java index 334f8649..028013de 100644 --- a/src/backend/file_server/src/main/java/com/jootalkpia/file_server/service/FileService.java +++ b/src/backend/file_server/src/main/java/com/jootalkpia/file_server/service/FileService.java @@ -98,6 +98,7 @@ private UploadFileResponseDto finalizeFileUpload(String tempFileIdentifier, List filesEntity.setUrl(s3Url); filesEntity.setFileType(fileType); filesEntity.setFileSize(mergedFile.length()); + filesEntity.setMimeType(fileTypeDetector.detectMimeType(mergedFile)); fileRepository.save(filesEntity); // 임시 데이터 정리 @@ -181,7 +182,14 @@ public UploadFileResponseDto uploadFile(UploadFileRequestDto uploadFileRequestDt fileRepository.save(filesEntity); fileId = filesEntity.getFileId(); - uploadEachFile(fileType, fileId, uploadFileRequestDto.getFile()); + String s3Url = uploadEachFile(fileType, fileId, uploadFileRequestDto.getFile()); + + filesEntity.setUrl(s3Url); + filesEntity.setFileType(fileType); + filesEntity.setFileSize(uploadFileRequestDto.getFile().getSize()); + filesEntity.setMimeType(uploadFileRequestDto.getFile().getContentType()); + + fileRepository.save(filesEntity); return new UploadFileResponseDto("200", "complete", fileId, fileType); } catch (Exception e) { throw new CustomException(ErrorCode.IMAGE_UPLOAD_FAILED.getCode(), ErrorCode.IMAGE_UPLOAD_FAILED.getMsg());