728x90
SpringBoot · intelliJ · OracleDB · Thymeleaf
이전글과 이어집니다.
[Springboot] 게시글 파일 업로드 -1 [37] (tistory.com)
[Springboot] 게시글 파일 업로드 -2 [38] (tistory.com)
QuestionService.java
public Question modify(Question question, String subject, String content, String category, MultipartFile file) throws Exception {
String projectPath = imgLocation;
if (file.getOriginalFilename().equals("")){
//새 파일이 없을 때
question.setFilename(question.getFilename());
question.setFilepath(question.getFilepath());
} else if (file.getOriginalFilename() != null){
//새 파일이 있을 때
File f = new File(question.getFilepath());
if (f.exists()) { // 파일이 존재하면
f.delete(); // 파일 삭제
}
UUID uuid = UUID.randomUUID();
String fileName = uuid + "_" + file.getOriginalFilename();
File saveFile = new File(projectPath, fileName);
file.transferTo(saveFile);
question.setFilename(fileName);
question.setFilepath(projectPath + fileName);
}
question.setSubject(subject);
question.setContent(content);
question.setModifyDate(new Date());
question.setCategory(category);
this.questionRepository.save(question);
return question;
}
File객체에 .exists()와, .delete()메소드를 이용하여
해당파일의 존재여부와, 삭제를 할 수 있다.
수정 후, 새파일이 없을 경우엔 (글만 수정했을 경우) 이전에 업로드한 파일을 보여주고,
수정 후, 새파일이 있을 경우엔 (이미지를 수정했을 경우) 새로 업로드한 파일을 보여주게 된다.
728x90
'Follow Work > SpringbootBoard' 카테고리의 다른 글
[Springboot] 에러페이지 설정하기 [40] (0) | 2022.10.14 |
---|---|
[Springboot] 이전글 다음글 없을 시 클릭 막기 [39] (0) | 2022.10.14 |
[Springboot] 게시글 파일 업로드 -2 [38] (4) | 2022.10.14 |
[HTML CSS] 반응형 테이블 디자인 (0) | 2022.10.14 |
[HTML] iframe 유튜브 동영상 자동 연속재생 (14) | 2022.10.06 |