파일업로드, 다운로드에 대한 질문입니다.
- 작성자 :
- 임*화
- 작성일 :
- 2010-11-19 18:34:53
- 조회수 :
- 5,658
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요? 파일 업로드, 다운로드를 진행하고 있습니다.
전자정부 공통컴포넌트에서 제공하는 게시판을 기준으로 작업을 하고 있는데요.
궁금한것이 있습니다.
<질문1>
파일업로드를 할때 보면 유니크한 새로운 이름을 만들어서 파일을 업로드 하고 있는
데요. 확인을 해보니까 실제로 파일을 저장할때 파일의 확장자를 없애고 새로운
이름으로 파일을 저장 하더라구요.
(원본) 테스트.jpg ---> (저장) BBS_123456789123456780
이렇게 확장자를 제외하고 저장을 하던데 특별한 이유라도 있는건가요?
<질문2>
파일 다운로드시에 질문 입니다.
파일 다운로드때 보면 ContentType을 전부 하나로 하더라구요.
String mimetype = "application/x-msdownload";
response.setContentType(mimetype);
각각에 파일(jpg, doc, gif, xls...)에는 고유한 마임타입이 존재하는데
"application/x-msdownload"으로 다 같이 사용을 해도 되는 건가요?
<질문3>
마임타입을 선언해 놓은걸 보면 어떤곳은 1번을 어디는 2번을 사용하던데.
1. "application/x-msdownload"
2. "application/octet-stream"
둘이 차이점이 무엇이며, 어떤걸 사용해야 하나요??
<질문4>
파일 다운로드시에 웹브라우져 별로 원본 파일명 인코딩하는 방식을 달리 하고 있는데.
제가 지금까지 경험으로 봐서 웹브라우져 별 보다는 WAS의 종류별로 깨지는
경우가 생기더라구요.
톰캣 같은 경우에 URIEncodeing 설정도 다 하고 전부 맞춰서 작업을 해서 다운로드
받을때 안깨지던 것이 제우스에서 다운로드 하면 파일명이 깨지더라구요.
한가지 차이점이 있다면 제가 설명해 놓은걸 보니까
제우스나 웹로직에서 아래와 같이 하라고 되어 있던데.
저는 pageEncoding="utf-8" 이부분을 빼고 했었거든요. 그렇다면 저 부분을
넣기만 하면 정상적인 경우라면 웹브라우져 별로 인코딩 방식만 다르게 해주면
파일명 깨지는 것은 해결이 되는건가요? 만약 이렇게 까지 했는데도 파일명이
깨진다면 제우스쪽 환경 설정이 문제 일까요? 참고로 다른 제우스 2곳다 같은 현상이
있었습니다.
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
전자정부 공통컴포넌트에서 제공하는 게시판을 기준으로 작업을 하고 있는데요.
궁금한것이 있습니다.
<질문1>
파일업로드를 할때 보면 유니크한 새로운 이름을 만들어서 파일을 업로드 하고 있는
데요. 확인을 해보니까 실제로 파일을 저장할때 파일의 확장자를 없애고 새로운
이름으로 파일을 저장 하더라구요.
(원본) 테스트.jpg ---> (저장) BBS_123456789123456780
이렇게 확장자를 제외하고 저장을 하던데 특별한 이유라도 있는건가요?
<질문2>
파일 다운로드시에 질문 입니다.
파일 다운로드때 보면 ContentType을 전부 하나로 하더라구요.
String mimetype = "application/x-msdownload";
response.setContentType(mimetype);
각각에 파일(jpg, doc, gif, xls...)에는 고유한 마임타입이 존재하는데
"application/x-msdownload"으로 다 같이 사용을 해도 되는 건가요?
<질문3>
마임타입을 선언해 놓은걸 보면 어떤곳은 1번을 어디는 2번을 사용하던데.
1. "application/x-msdownload"
2. "application/octet-stream"
둘이 차이점이 무엇이며, 어떤걸 사용해야 하나요??
<질문4>
파일 다운로드시에 웹브라우져 별로 원본 파일명 인코딩하는 방식을 달리 하고 있는데.
제가 지금까지 경험으로 봐서 웹브라우져 별 보다는 WAS의 종류별로 깨지는
경우가 생기더라구요.
톰캣 같은 경우에 URIEncodeing 설정도 다 하고 전부 맞춰서 작업을 해서 다운로드
받을때 안깨지던 것이 제우스에서 다운로드 하면 파일명이 깨지더라구요.
한가지 차이점이 있다면 제가 설명해 놓은걸 보니까
제우스나 웹로직에서 아래와 같이 하라고 되어 있던데.
저는 pageEncoding="utf-8" 이부분을 빼고 했었거든요. 그렇다면 저 부분을
넣기만 하면 정상적인 경우라면 웹브라우져 별로 인코딩 방식만 다르게 해주면
파일명 깨지는 것은 해결이 되는건가요? 만약 이렇게 까지 했는데도 파일명이
깨진다면 제우스쪽 환경 설정이 문제 일까요? 참고로 다른 제우스 2곳다 같은 현상이
있었습니다.
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
A
안녕하세요.. 임경화님.
<질문1>
파일이름 등에 한글 등 특수문자가 있게되면.. 시스템(Unix, Windows 등)에서 다루기가 어렵습니다. 일반적으로 서버에는 별도의 이름으로 저장하는 방식을 사용합니다.
<질문2>
확장자 별로 원래의 mimetype을 넣게되면.. 다운로드가 되지 않습니다. (해당 프로그램이 바로 뜨거나.. 이미지로 표시되거나.. 등)
따라서 임의의 형식으로 넣는 것입니다. (그래야 인식할 수 없는 mime-type이기 때문에 브라우저가 다운로드를 처리합니다.)
<질문3>
위의 답변 처럼 임의로 지정하는 것이기 때문에 1, 2번 어느 것을 쓰셔도 상관없습니다.
<질문4>
다운로드시 파일명 깨지는 문제는 WAS설정의 문제가 아니라.. 브라우저가 인식하는 한글인코딩의 문제입니다.
해당 처리는 다음 소스를 참조하시면 됩니다. (브라우져별 처리 포함)
공통컴포넌트의 요소기술 중 "파일다운로드" 부분의 소스 다운로드
- 파일명 : egovframework-common-1.0.0.zip
- 참조 소스 : src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java
<질문5>
해당 부분은 저희가 지원하지 않는 부분이 아닌 것 같습니다.
저희 쪽 가이드를 참조하시면 될 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
<질문1>
파일이름 등에 한글 등 특수문자가 있게되면.. 시스템(Unix, Windows 등)에서 다루기가 어렵습니다. 일반적으로 서버에는 별도의 이름으로 저장하는 방식을 사용합니다.
<질문2>
확장자 별로 원래의 mimetype을 넣게되면.. 다운로드가 되지 않습니다. (해당 프로그램이 바로 뜨거나.. 이미지로 표시되거나.. 등)
따라서 임의의 형식으로 넣는 것입니다. (그래야 인식할 수 없는 mime-type이기 때문에 브라우저가 다운로드를 처리합니다.)
<질문3>
위의 답변 처럼 임의로 지정하는 것이기 때문에 1, 2번 어느 것을 쓰셔도 상관없습니다.
<질문4>
다운로드시 파일명 깨지는 문제는 WAS설정의 문제가 아니라.. 브라우저가 인식하는 한글인코딩의 문제입니다.
해당 처리는 다음 소스를 참조하시면 됩니다. (브라우져별 처리 포함)
공통컴포넌트의 요소기술 중 "파일다운로드" 부분의 소스 다운로드
- 파일명 : egovframework-common-1.0.0.zip
- 참조 소스 : src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java
<질문5>
해당 부분은 저희가 지원하지 않는 부분이 아닌 것 같습니다.
저희 쪽 가이드를 참조하시면 될 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.