inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]

25_Ajax를 이용한 파일업로드 구현

파일 업로드 질문

409

00

작성한 질문수 28

0

안녕하세요. 강의를 듣다가 헷갈리는부분이 있어 질문 남깁니다..!

 

 

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 

spring MVC ajax pojo

답변 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

144

1

26강에서 member1에 사진 인서트할때 500 오류가 떠요

0

163

1

안녕하세요, Spring Legacy Project 생성 시 오류 문의드립니다.

0

399

1

32강 spring mvc 안보임

0

318

2

나프2탄 51강 서비스계층 구현하기

0

328

1

32강 WEB MVC프로젝트 만들기 01버전 질문입니다

0

364

1

27강 이미지업로드 질문입니다.

1

226

1

7강 mybatis 에러 질문 드립니다

0

347

1

32강 spring legacy project

0

580

3

마프시리즈가뭐에요??

0

414

1

Spring Legacy Project에 관하여

0

1291

2

뷰 <form => PostMapping 컨트롤러 VO(int 형) 받기 문의 드립니다

0

415

1

한글로 작성한 파일은 사진이 보이지 않습니다.

0

390

1

fileItem.getName().substring(idx+1) 사용 이유가 궁금합니다.

0

377

1

안녕하세요 맥북세팅 질문드려요

0

428

2

19강 ajax통신의 콜백 함수 인자에 대해

0

359

2

나프 2 19강에서 질문있습니다.

0

305

1

제이쿼리 코드지만!

0

363

1

파일 업로드 경로 문의

0

395

1

스프2탄이후 후속강의는 언제나와요?

0

371

1

MVC07 파일 업로드 부분 수강중인데 갑자기 mysql 쿼리가 느려졌습니다..

0

269

1

강의자료

0

479

1

강의 4분 7초, 11분 49초

0

407

1

강의 17:23초

0

358

1