@PostMapping("/signup")
public ResponseEntity handleFileUpload(@RequestParam("profile_img_path") MultipartFile file,
@RequestParam("id") String id,
@RequestParam("password") String password,
@RequestParam("name") String name,
@RequestParam("nickname") String nickname,
@RequestParam("age") int age,
@RequestParam("gender") String gender,
@RequestParam("tel") String tel) {
MemberDTO memberDTO = new MemberDTO();
memberDTO.setId(id);
memberDTO.setPwd(password);
memberDTO.setName(name);
memberDTO.setNickname(nickname);
memberDTO.setAge(age);
memberDTO.setGender(gender);
memberDTO.setTel(tel);
// 파일이 비어있는지 확인
if (file.isEmpty()) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("파일을 선택해 주세요");
}
try {
// 절대 경로 설정
Path currentPath = Paths.get(System.getProperty("user.dir")).toAbsolutePath();
Path uploadPath = currentPath.resolve("src/main/resources/static").resolve(uploadDir);
if (!Files.exists(uploadPath)) {
Files.createDirectories(uploadPath);
}
// 고유한 파일명 생성
String uniqueFileName = UUID.randomUUID().toString().substring(0, 8) + "_" + file.getOriginalFilename();
Path filePath = uploadPath.resolve(uniqueFileName);
// 디버깅을 위한 경로 출력
System.out.println("파일 저장 경로: " + filePath.toString());
Files.copy(file.getInputStream(), filePath);
// 파일명을 MemberDTO에 설정
memberDTO.setProfileIMG(uniqueFileName);
// 회원 정보와 파일 이름을 데이터베이스에 저장
memberService.insertMember(memberDTO);
} catch (IOException e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("파일 업로드 실패");
}
return ResponseEntity.ok("회원 가입 완료");
}
БД сохраняется, и вывод пути становится нормальным. И выдает, что сохранение прошло успешно.
Но файл не сохраняется.
В чем проблема?
Я говорящая картошка
Не знаю, что трогать.
Буду признателен, если напишете это в простой для понимания форме.
Я новичок.
// 파일이 비어있는지 확인 if (file.isEmpty()) { return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("파일을 선택해 주세요"); }
try { // 절대 경로 설정 Path currentPath = Paths.get(System.getProperty("user.dir")).toAbsolutePath(); Path uploadPath = currentPath.resolve("src/main/resources/static").resolve(uploadDir); if (!Files.exists(uploadPath)) { Files.createDirectories(uploadPath); }
// 고유한 파일명 생성 String uniqueFileName = UUID.randomUUID().toString().substring(0, 8) + "_" + file.getOriginalFilename(); Path filePath = uploadPath.resolve(uniqueFileName);
// 디버깅을 위한 경로 출력 System.out.println("파일 저장 경로: " + filePath.toString());
Files.copy(file.getInputStream(), filePath);
// 파일명을 MemberDTO에 설정 memberDTO.setProfileIMG(uniqueFileName);
// 회원 정보와 파일 이름을 데이터베이스에 저장 memberService.insertMember(memberDTO);
} catch (IOException e) { e.printStackTrace(); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("파일 업로드 실패"); } return ResponseEntity.ok("회원 가입 완료"); } [/code] БД сохраняется, и вывод пути становится нормальным. И выдает, что сохранение прошло успешно. Но файл не сохраняется. В чем проблема? Я говорящая картошка :( Не знаю, что трогать. Буду признателен, если напишете это в простой для понимания форме. Я новичок.