MultipartHttpServletRequest를 이용하여 파일업로드하는데 getOriginalFilename()로 조회
- 작성자 :
- 이*돈
- 작성일 :
- 2014-12-29 22:14:25
- 조회수 :
- 1,449
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
MultipartHttpServletRequest를 이용하여 파일업로드하는데 FTP로 올릴려구 합니다.
하여 화면에서 선택한 원본파일의 풀경로를 알아야 되서 getOriginalFilename()로 조회를 하였는데 순수원본파일명만 보이고 경로는
가져오질 않네요. 소스는 아래와 같습니다. 어떻게 하면 선택한 파일들의 풀경로 정보를 가지고 올 수 있나요?
Iterator file_it = multiRequest.getFileNames()
while(file_it.hasNext()){
MultipartFile sfile = multiRequest.getFile((String)file_it.next());
if(sfile.getSize() > 0){
String ofile = sfile.getOriginalFilename();
System.out.println("============= ofile : " + ofile);
}
}
하여 화면에서 선택한 원본파일의 풀경로를 알아야 되서 getOriginalFilename()로 조회를 하였는데 순수원본파일명만 보이고 경로는
가져오질 않네요. 소스는 아래와 같습니다. 어떻게 하면 선택한 파일들의 풀경로 정보를 가지고 올 수 있나요?
Iterator file_it = multiRequest.getFileNames()
while(file_it.hasNext()){
MultipartFile sfile = multiRequest.getFile((String)file_it.next());
if(sfile.getSize() > 0){
String ofile = sfile.getOriginalFilename();
System.out.println("============= ofile : " + ofile);
}
}
A
안녕하세요. 이중돈님.
client PC 상의 경로 정보는 HTTP 호출 상 서버로 전송되지도 않기 때문에 서버 상에서는 해당 경로 정보를 얻으실 수 없습니다.
다만, javascript를 통해 file input의 value를 확인하시면 경로를 포함한 파일명을 얻으실 수 있습니다. (submit 전에 hidden 등으로 추가 전송)
그러나 일부 브라우저는 보안 상의 이유로 경로를 다른 경로 변경하기 때문에 사용에 주의하셔야 할 것 같습니다. (e.g. 크롬의 경우 무조건 C:\fakepath 경로로 변경하여 처리)
그럼, 즐거운 하루되십시오.
감사합니다.
client PC 상의 경로 정보는 HTTP 호출 상 서버로 전송되지도 않기 때문에 서버 상에서는 해당 경로 정보를 얻으실 수 없습니다.
다만, javascript를 통해 file input의 value를 확인하시면 경로를 포함한 파일명을 얻으실 수 있습니다. (submit 전에 hidden 등으로 추가 전송)
그러나 일부 브라우저는 보안 상의 이유로 경로를 다른 경로 변경하기 때문에 사용에 주의하셔야 할 것 같습니다. (e.g. 크롬의 경우 무조건 C:\fakepath 경로로 변경하여 처리)
그럼, 즐거운 하루되십시오.
감사합니다.