diff --git a/src/main/java/umc/spring/file/controller/FileController.java b/src/main/java/umc/spring/file/controller/FileController.java
index 677c28481dfd829084b2ea51b2d4bd68ea116edc..9eadce91f9ed2945b0b9c8905b3fb929f2445300 100644
--- a/src/main/java/umc/spring/file/controller/FileController.java
+++ b/src/main/java/umc/spring/file/controller/FileController.java
@@ -7,10 +7,9 @@ import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+import umc.spring.file.domain.S3FileDto;
 import umc.spring.file.service.AmazonS3Service;
-import umc.spring.file.service.S3Service;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.List;
@@ -23,12 +22,10 @@ public class FileController {
     private final AmazonS3Service amazon3SService;
 
     @PostMapping("/uploads")
-    public ResponseEntity<Object> uploadFiles(
+    public List<S3FileDto> uploadFiles(
             @RequestParam(value = "uploadFilePath") String uploadFilePath,
             @RequestPart(value = "files") List<MultipartFile> multipartFiles) {
-        return ResponseEntity
-                .status(HttpStatus.OK)
-                .body(amazon3SService.uploadFiles(uploadFilePath, multipartFiles));
+        return amazon3SService.uploadFiles(uploadFilePath, multipartFiles);
     }
 
     @DeleteMapping("/delete")
diff --git a/src/main/java/umc/spring/file/domain/S3File.java b/src/main/java/umc/spring/file/domain/S3File.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec0eebd09e125a2f0fc95ef88da5bc44cec598e7
--- /dev/null
+++ b/src/main/java/umc/spring/file/domain/S3File.java
@@ -0,0 +1,26 @@
+package umc.spring.file.domain;
+
+import jakarta.persistence.*;
+import lombok.Builder;
+import lombok.Getter;
+import umc.spring.post.data.entity.Post;
+
+@Entity
+@Getter
+public class S3File {
+
+    @Id @GeneratedValue
+    Long id;
+
+    @ManyToOne
+    @JoinColumn(name = "project_id")
+    private Post post;
+
+    private String originalFileName;
+
+    private String uploadFileName;
+
+    private String uploadFilePath;
+
+    private String uploadFileUrl;
+}
diff --git a/src/main/java/umc/spring/file/repository/S3FileRepository.java b/src/main/java/umc/spring/file/repository/S3FileRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..34a341a86726cac2fa56ba31ada5f8be403233df
--- /dev/null
+++ b/src/main/java/umc/spring/file/repository/S3FileRepository.java
@@ -0,0 +1,7 @@
+package umc.spring.file.repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import umc.spring.file.domain.S3File;
+
+public interface S3FileRepository extends JpaRepository<S3File, Long> {
+}
diff --git a/src/main/java/umc/spring/file/service/S3Service.java b/src/main/java/umc/spring/file/service/S3Service.java
index cce2f50900abfb34664e28e705dcc7040e117fb3..8502141dbd6df7089139c983ed160d395836063b 100644
--- a/src/main/java/umc/spring/file/service/S3Service.java
+++ b/src/main/java/umc/spring/file/service/S3Service.java
@@ -1,76 +1,76 @@
-package umc.spring.file.service;
-
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.HttpMethod;
-import com.amazonaws.services.s3.AmazonS3;
-import com.amazonaws.services.s3.model.CannedAccessControlList;
-import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
-import com.amazonaws.services.s3.model.ObjectMetadata;
-import com.amazonaws.services.s3.model.PutObjectRequest;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.util.Date;
-
-/* S3Service.java */
-@Slf4j
-@RequiredArgsConstructor
-@Service
-public class S3Service {
-
-    @Value("${cloud.aws.s3.bucket}")
-    private String bucket;
-
-    private final AmazonS3 amazonS3;
-
-    /* 1. 파일 업로드 */
-    public String upload(MultipartFile multipartFile, String s3FileName) throws IOException {
-        // 메타데이터 생성
-        ObjectMetadata objMeta = new ObjectMetadata();
-        objMeta.setContentLength(multipartFile.getInputStream().available());
-        // putObject(버킷명, 파일명, 파일데이터, 메타데이터)로 S3에 객체 등록
-        amazonS3.putObject(new PutObjectRequest(bucket, s3FileName, multipartFile.getInputStream(), objMeta)
-                .withCannedAcl(CannedAccessControlList.PublicRead));
-        // 등록된 객체의 url 반환 (decoder: url 안의 한글 or 특수문자 깨짐 방지)
-        return URLDecoder.decode(amazonS3.getUrl(bucket, s3FileName).toString(), "utf-8");
-    }
-
-    /* 2. 파일 삭제 */
-    public void delete (String keyName) {
-        try {
-            // deleteObject(버킷명, 키값)으로 객체 삭제
-            amazonS3.deleteObject(bucket, keyName);
-        } catch (AmazonServiceException e) {
-            log.error(e.toString());
-        }
-    }
-
-    /* 3. 파일의 presigned URL 반환 */
-    public String getPresignedURL (String keyName) {
-        String preSignedURL = "";
-        // presigned URL이 유효하게 동작할 만료기한 설정 (2분)
-        Date expiration = new Date();
-        Long expTimeMillis = expiration.getTime();
-        expTimeMillis += 1000 * 60 * 2;
-        expiration.setTime(expTimeMillis);
-
-        try {
-            // presigned URL 발급
-            GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucket, keyName)
-                    .withMethod(HttpMethod.GET)
-                    .withExpiration(expiration);
-            URL url = amazonS3.generatePresignedUrl(generatePresignedUrlRequest);
-            preSignedURL = url.toString();
-        } catch (Exception e) {
-            log.error(e.toString());
-        }
-
-        return preSignedURL;
-    }
-}
\ No newline at end of file
+//package umc.spring.file.service;
+//
+//import com.amazonaws.AmazonServiceException;
+//import com.amazonaws.HttpMethod;
+//import com.amazonaws.services.s3.AmazonS3;
+//import com.amazonaws.services.s3.model.CannedAccessControlList;
+//import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
+//import com.amazonaws.services.s3.model.ObjectMetadata;
+//import com.amazonaws.services.s3.model.PutObjectRequest;
+//import lombok.RequiredArgsConstructor;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.stereotype.Service;
+//import org.springframework.web.multipart.MultipartFile;
+//
+//import java.io.IOException;
+//import java.net.URL;
+//import java.net.URLDecoder;
+//import java.util.Date;
+//
+///* S3Service.java */
+//@Slf4j
+//@RequiredArgsConstructor
+//@Service
+//public class S3Service {
+//
+//    @Value("${cloud.aws.s3.bucket}")
+//    private String bucket;
+//
+//    private final AmazonS3 amazonS3;
+//
+//    /* 1. 파일 업로드 */
+//    public String upload(MultipartFile multipartFile, String s3FileName) throws IOException {
+//        // 메타데이터 생성
+//        ObjectMetadata objMeta = new ObjectMetadata();
+//        objMeta.setContentLength(multipartFile.getInputStream().available());
+//        // putObject(버킷명, 파일명, 파일데이터, 메타데이터)로 S3에 객체 등록
+//        amazonS3.putObject(new PutObjectRequest(bucket, s3FileName, multipartFile.getInputStream(), objMeta)
+//                .withCannedAcl(CannedAccessControlList.PublicRead));
+//        // 등록된 객체의 url 반환 (decoder: url 안의 한글 or 특수문자 깨짐 방지)
+//        return URLDecoder.decode(amazonS3.getUrl(bucket, s3FileName).toString(), "utf-8");
+//    }
+//
+//    /* 2. 파일 삭제 */
+//    public void delete (String keyName) {
+//        try {
+//            // deleteObject(버킷명, 키값)으로 객체 삭제
+//            amazonS3.deleteObject(bucket, keyName);
+//        } catch (AmazonServiceException e) {
+//            log.error(e.toString());
+//        }
+//    }
+//
+//    /* 3. 파일의 presigned URL 반환 */
+//    public String getPresignedURL (String keyName) {
+//        String preSignedURL = "";
+//        // presigned URL이 유효하게 동작할 만료기한 설정 (2분)
+//        Date expiration = new Date();
+//        Long expTimeMillis = expiration.getTime();
+//        expTimeMillis += 1000 * 60 * 2;
+//        expiration.setTime(expTimeMillis);
+//
+//        try {
+//            // presigned URL 발급
+//            GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucket, keyName)
+//                    .withMethod(HttpMethod.GET)
+//                    .withExpiration(expiration);
+//            URL url = amazonS3.generatePresignedUrl(generatePresignedUrlRequest);
+//            preSignedURL = url.toString();
+//        } catch (Exception e) {
+//            log.error(e.toString());
+//        }
+//
+//        return preSignedURL;
+//    }
+//}
\ No newline at end of file