배너는 화면에 이미지를 보여주는 것은 파일 업로드가 진행되어야함
강좌 등록 화면에서 업로드 진행
- 첨부파일 부분 추가, form의 enctype지정
- 컨트롤러의 메소드에서 파라미터에 MultipartFile추가하여 저장 메소드 구현
String saveFilename = "";
String urlFilename = "";
if (file != null) {
String originalFilename = file.getOriginalFilename();
String baseLocalPath = "/Users/dd/git/fastlms/fastlms/files";
String baseUrlPath = "/files";
String[] arrFilename = getNewSaveFile(baseLocalPath, baseUrlPath, originalFilename);
saveFilename = arrFilename[0];
urlFilename = arrFilename[1];
try {
File newFile = new File(saveFilename);
FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(newFile));
} catch (IOException e) {
log.info("############################ - 1");
log.info(e.getMessage());
}
}
parameter.setFilename(saveFilename);
parameter.setUrlFilename(urlFilename);
- 새로운 파일이 들어왔을 때 날짜, 월, 일 별로 폴더를 만들어 랜덤한 이름으로 저장되는 메소드 구현
□ 외부 파일을 화면에 출력
- 톰캣의 server.xml에 아래 문구 추가
<Context docBase="/파일경로" path="/files" reloadable="true"/>
- 이미지를 넣기 위해서 경로를 configuration에서 허용해주어야함
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/favicon.ico", "/files/**", "/fastlms/files/**");
super.configure(web);
}
- 강좌별로 이미지를 저장해야 하므로 course, courseinput, coursedto에 filename과 urlfilename 필드 모두 추가 하면 course별로 파일 경로가 저장됨
'프로젝트 > 학습관리시스템(LMS)' 카테고리의 다른 글
회원 로그인시 로그인 히스토리(로그)기능, 마지막 로그인 컬럼추가 (0) | 2022.11.19 |
---|---|
강좌 관리 - 강좌별 신청 내역 구현 (0) | 2022.11.18 |
회원 탈퇴 (0) | 2022.11.17 |
회원 정보 수정 (0) | 2022.11.17 |
백오피스 - 강좌 신청 처리 (0) | 2022.11.16 |