System.getProperty("user.home");
이처럼 사용하게 되면 OS에 상관없이 home디렉토리를 구하게 된다.
하지만 Spring 프레임워크에서 서버로의 업로드는 문제가 없지만 저장한 사진을 웹 사이트에 보여주기 위해선 HTML 태그에 src등의 속성에 대입하게 되는데 'C:\...' 혹은 '/home/...' 등의 경로가 대입이 되므로 주소명으로 다루기 위해 Project안의 WebContent폴더에 저장하게 된다.
이를테면, src='profile/xxx.jpg'라고 넣고 싶다면
String dir = req.getServletContext().getRealPath("profile");
// 폴더가 없을 경우 생성
if (!dir.exists()) {
dir.mkdirs();
}
라고 해주면 profile이란 폴더가 없을 경우 폴더가 생성이 되며, 프로젝트 폴더 내부의 하위 폴더인 WebContent에 저장이 된다.
주소/Project명/profile/xxx.jpg 로 접근을 하게 되면 해당 사진을 볼 수 있게 된다.
만약 profile폴더와 사진파일 중간에 폴더를 만들고 싶다면 다음과 같이 하면 된다.
이를테면, src='profile/멤버번호/xxx.jpg'라고 넣고 싶다면
String uploadPath = req.getServletContext().getRealPath("profile");
// 디비값에 저장된 멤버의 순서(member_num)으로 하위 폴더를 만들어 구분하고 싶다면
File dir = new File(uploadPath + "/" + member.getMember_num());
// 폴더가 없을 경우 생성
if (!dir.exists()) {
dir.mkdirs();
}
이렇게 되면 멤버 마다 다른 번호를 가지고 있다고 가정을 하면 매 계정마다 자기만의 폴더를 갖게 된다.
'Computer > Basic Java' 카테고리의 다른 글
[Java] Date를 SimpleDateFormat으로 입맛에 맞는 시간 정보만 출력하기 (0) | 2018.07.30 |
---|---|
[Java] 가변 인자 - 갯수에 상관없이, 갯수가 정해지지 않은 인자 받기 (0) | 2018.07.30 |
Java 8 업데이트된 내용 정리 - 람다식* (0) | 2018.07.30 |
[Java] 오른쪽 정렬(Right Alignment) (0) | 2018.07.29 |