파일 업로드 질문
392
작성한 질문수 28
안녕하세요. 강의를 듣다가 헷갈리는부분이 있어 질문 남깁니다..!
1.
String UPLOAD_DIR = "file_repo" ;
String uploadPath = request.getServletContext().getRealPath("")+File.separator+UPLOAD_DIR ;
File currentDirPath = new File(uploadPath) ;
if (!currentDirPath.exists()) {
currentDirPath.mkdir();
}
이 부분과
DiskFileItemFactory factory=new DiskFileItemFactory();
factory.setRepository(currentDirPath);
factory.setSizeThreshold(1024*1024);
이부분의 차이가 무엇인가요 ? 둘다 파일 임시 경로를 만들어주는 코드 아닌가요 ??
2.
String uploadPath = request.getServletContext().getRealPath("")+File.separator+UPLOAD_DIR ;
에서
.getRealPath(“”) 가 정확히 무엇인가요 ?? 그리고 왜 괄호 안에 (“”) 라고 표시해야되는건가요 ????
3. 그리고 제가 27강의 memberList 에서 이미지 띄우기 했는데
이런식으로 뜨는데 뭐가 문제인가요?? (근데 업로드한 파일에 따라서 다른것같습니다. 어떤 사진은 올리면 제대로 잘 나오는데 어떤 사진들은 저런식으로 이미지가 안나옵니다..)
답변해주시면 감사하겠습니다 :D
답변 1
0
1. 임시폴더를 만드는 방법은 어떤 API를 사용하느냐에따라서 달라질 수도 있습니다.
구현방법의 차이라고 보시면 될듯합니다.아래처럼 API를 사용해서도 된다면 아래 코드로 사용하셔도 됩니다.
DiskFileItemFactory factory=new DiskFileItemFactory();
factory.setRepository(currentDirPath);
factory.setSizeThreshold(1024*1024);
2. String uploadPath = request.getServletContext().getRealPath("")+File.separator + UPLOAD_DIRECTORY;
위 코드는 ->웹애플리케이션의 루트 디렉토리를 기준으로 업로드 경로를 만드는 부분입니다.
-. request.getServletContext().getRealPath("") 이부분은 요청 URL의 context path(즉 ROOT경로)를 가지고 온 다음에
실제 하드디스크에있는 실제경로를 알아내기 위해서 getRealPath("")쓰는 것입니다. ""안에 특정 폴더를 지정하면
그 폴더의 실제경로를 만들어주기 때문에 여기에서는 ROOT경로까지만 알아내기 위해서 빈값으로 적어둔거구요
예를들면 경로가 D:\A_teaching...어쩌고 이런식으로 나올겁니다.
-.File.separator는 파일클래스가 지원해주는건데, 운영체제에 의존해서.. 윈도우는 \등 그때그때 달라질수도있어서
운영체제에 맞는 디렉토리구분자를 쓰기위해서 작성한 거구요
-.UPLOAD_DIRECTORY에 연결된 폴더를 만들고 거기에 파일을 저장할려고 마지막에 디렉토리 경로를 연결해주였습니다.
3. 이미지에따라서 보이고 않보이고 하는 부분이 잘 파악이 않되는데요? 혹시 한글 이미지 이름이 깨져서 안나오는지
한번 검토해보시기 바랍니다.?
이해가 되셨는지 모르겠지만 한번 다시 해보시고 문의 주시기 바랍니다.^^
ping 연결관련
0
97
1
26강에서 member1에 사진 인서트할때 500 오류가 떠요
0
112
1
안녕하세요, Spring Legacy Project 생성 시 오류 문의드립니다.
0
359
1
32강 spring mvc 안보임
0
273
2
나프2탄 51강 서비스계층 구현하기
0
298
1
32강 WEB MVC프로젝트 만들기 01버전 질문입니다
0
333
1
27강 이미지업로드 질문입니다.
1
185
1
7강 mybatis 에러 질문 드립니다
0
310
1
32강 spring legacy project
0
525
3
마프시리즈가뭐에요??
0
384
1
Spring Legacy Project에 관하여
0
1237
2
뷰 <form => PostMapping 컨트롤러 VO(int 형) 받기 문의 드립니다
0
376
1
한글로 작성한 파일은 사진이 보이지 않습니다.
0
319
1
fileItem.getName().substring(idx+1) 사용 이유가 궁금합니다.
0
339
1
안녕하세요 맥북세팅 질문드려요
0
388
2
19강 ajax통신의 콜백 함수 인자에 대해
0
311
2
나프 2 19강에서 질문있습니다.
0
275
1
제이쿼리 코드지만!
0
326
1
파일 업로드 경로 문의
0
358
1
스프2탄이후 후속강의는 언제나와요?
0
336
1
MVC07 파일 업로드 부분 수강중인데 갑자기 mysql 쿼리가 느려졌습니다..
0
237
1
강의자료
0
447
1
강의 4분 7초, 11분 49초
0
368
1
강의 17:23초
0
327
1





