>> 파일(이미지) 업로드 이어서 진행
DB user 테이블에 pImg 라는 이미지 경로 저장할 컬럼 추가. 디폴트 이미지를 설정해둠
----------여기까지 프리뷰로 이미지를 확인하고 경로를 저장함. 이 다음으론 서버의 디스크에도 저장되도록 하는 과정-------
→ 파일 최대 크기 maxFileSize 를 (1024 * 1024 * 10) 값인 10485760 으로 지정
→ 파일 타입을 image 로 제한
→ 파일 확장자를 png, jpeg 로 제한
[JSP & Servlet] 서블릿 파라미터(init-Param, context-param) (tistory.com)
[JSP & Servlet] 서블릿 파라미터(init-Param, context-param)
세번째로 서블릿 파라미터와 스코프에 대해서 이야기 해보려 한다. 크게 파라미터는 2개로 나뉠 수 있다. 1) init- param 해당 파라미터 값은 지정해준 서블릿 내에서만 쓸 수 있는 값이다. 변수로
erjuer.tistory.com
if문 설명 : 이미지파일 크기가 최대 파일 크기보다 작고 (아니면 'fileSizeError' 값을 가지는 에러화면으로 이동) ,
파일 종류가 전역변수로 설정한 종류와 같아야 하고 (아니면 'fileTypeError' 값 가지는 에러화면으로 이동) ,
파일 확장자가 전역변수로 설정한 확장자들에 속하면 (아니면 'fileExtError' 값 가지는 에러화면으로 이동) ,
서버의 디스크에 업로드된 파일을 저장시키고 로그아웃 되어 메인페이지로 돌아가게 한다.
req.getServletContext().getRealPath("/static/img/profile") → /static/img/profile 이 실제 서버에 배포된 경로를 찾는다.
imagFile.write(path + "/" + imageFile.getSubmittedFileName()) → 실제 배포 경로에 업로드된 파일 이름으로 파일을 저장
((위처럼 프로젝트 폴더에 이미지를 등록해놓지 않은 이상, write로 서버 배포 경로에 저장한 파일은 서버가 clean 되면 사라진다.))
user.setpImg("/static/img/profile/" + imageFile.getSubmittedFileName()) → DB에 사용자 정보의 pImg 값(경로) 를 저장
(set으로 값 설정하고 service에 저장 데이터 담긴 객체 전달하여 dao 로 접근)
+++이미지 업로드 에러 JSP
'국비' 카테고리의 다른 글
02.06 국비학원 86일차 (게시글에 이미지 업로드) (0) | 2023.02.08 |
---|---|
02.03 국비학원 85일차 (게시글 추천/비추천 토글 기능) (0) | 2023.02.04 |
02.01 국비학원 83일차 (파일 업로드-이미지) (0) | 2023.02.02 |
01.31 국비학원 82일차 (평가9) (0) | 2023.02.01 |
01.30 국비학원 81일차 (jsp페이지 모듈화, 계정별 role 부여, 관리자 페이지) (0) | 2023.01.31 |