파일첨부_게시글 및 파일이름 DB 저장 처리
by 볼빵빵오춘기Board2Service - 6번 작성
public void save(Board2DTO boardDTO) throws IOException {
// 파일 첨부 여부에 따라 로직 분리
if(boardDTO.getBoardFile().isEmpty()){
// 첨부 파일이 없는 경우
Board2Entity board2Entity = Board2Entity.toSaveEntity(boardDTO);
board2Repository.save(board2Entity);
}else{
// 첨부 파일이 있는 경우
/*
1. DTO에 담긴 파일을 꺼냄
2. 파일의 이름 가져옴
3. 서버 저장용 이름을 만듦
4. 저장 경로 설정
5. 해당 경로에 파일 저장
6. board_table에 해당 데이터 save 처리
7. board_file_table에 해당 데이터 save 처리
*/
MultipartFile boardFile = boardDTO.getBoardFile(); // 1
String originalFilename = boardFile.getOriginalFilename();// 2
String storedFileName = System.currentTimeMillis() + "_" + originalFilename; // 3
String savePath = System.getProperty("user.dir")+"/src/main/resources/static/files/"+storedFileName; // 4
boardFile.transferTo(new File(savePath)); // 5
Board2Entity board2Entity = Board2Entity.toSaveFileEntity(boardDTO);
Long saveId = board2Repository.save(board2Entity).getId(); // 6
Board2Entity board2 = board2Repository.findById(saveId).get();
}
}
BoardFileEntity
public static BoardFileEntity toBoardFileEntity(Board2Entity boardEntity, String originalFileName, String storedFileName) {
BoardFileEntity boardFileEntity = new BoardFileEntity();
boardFileEntity.setOriginalFileName(originalFileName);
boardFileEntity.setStoredFileName(storedFileName);
boardFileEntity.setBoardEntity(boardEntity);
return boardFileEntity;
}
Board2Service - 7번 작성
BoardFileEntity boardFileEntity = BoardFileEntity.toBoardFileEntity(board2, originalFilename, storedFileName);
BoardFileRepository
public interface BoardFileRepositoy extends JpaRepository<BoardFileEntity,Long> {
}
Board2Service - 7번 마무리
private final BoardFileRepositoy boardFileRepositoy;
BoardFileEntity boardFileEntity = BoardFileEntity.toBoardFileEntity(board2, originalFilename, storedFileName);
boardFileRepositoy.save(boardFileEntity);
'강의 따라하기 > member2' 카테고리의 다른 글
파일첨부_다중파일 첨부 및 마무리 (0) | 2023.12.30 |
---|---|
파일첨부_파일첨부 완료 후 게시글 조회시 이미지 출력 (0) | 2023.12.30 |
파일첨부_파일이름 저장 Entity 설계 및 참조관계 (0) | 2023.12.29 |
파일첨부_파일 로컬에 저장하기 (0) | 2023.12.29 |
파일첨부_첨부파일 요청보내기 (0) | 2023.12.29 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기