일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 안드로이드폰 위치
- 크롬 인너넷연결 안됨
- cisco vpn
- 10 올림
- windows10 크롬
- Windows10
- 화이자백신
- 핸드폰 찾기
- 분기날짜
- 로니세라
- 타카마루
- 코로나백신이상증상
- 노리로또
- takanaru
- 신주쿠맛집
- 코로나백신 부작용
- 코로나백신 어지러움
- 오라클
- 10원단위 올림
- 응용 프로그램 내 구입
- windows10 cisco vpn
- 성수족발
- 크롬 타임아웃
- 랍스터 찜
- 코로나백신 갈증
- 윈도우10 vpn
- 신주쿠 로컬식당
- 코로나백신
- 크롬 인터넷연결
- 강화 프로방스
- Today
- Total
이거 맘대로 되는 세상이 아니구만...
[JSP] DownLoad.jsp / 다운로드.jsp / 한글 파일 다운로드 본문
흑흑
쌩고생을 하면서 만든것 ㅡㅡ
비스타 IE7에서는 잘 돌아가지만 XP에서는 파일이 안받아 지는 경우가 있다
이는 소스 문제가 아니라 익스플로러 문제이다 이거때문에 고생에 고생을 거듭
이에 대한 해결방법은 자신의 컴퓨터의 설정을 바꿔주는 것이다
--해결방법--
1. 제어판으로 이동해라
2. 제어판의 국가 및 언어옵션을 선택을 해라.
3. 국가 및 언어옵션 탭중에 언어탭을 선택하고 자세히라는 버튼을 클릭.
4. 텍스트 서비스 및 입력언어창이 나타날것이다 그러면 탭중 고급을 클릭.
5. 고급텍스트서비스 사용안함에 체크 후 창을 닫으면 된다..
6. 적용버튼이 있었나?? 하여튼 그렇게 하면 해결된다
download.jsp
<%@ page contentType="text/html; charset=MS949"%> //MS949 이가 꼭 있어야 할듯 한데 잘 모름
<%@page import="java.io.*,java.util.*,java.net.*" %>
<%
request.setCharacterEncoding("euc-kr");
String filePath1 = request.getParameter("file"); //파일명을 가지고 온다
String filePath = new String(filePath1.getBytes("8859_1"), "KSC5601"); //가지고 온 파일명을 한글도 받을 수있게 변환한다
//업로드된 파일명 추출
int imgIdx = filePath.lastIndexOf("/");
String fileName = filePath.substring(imgIdx+1);
String path = "파일이 있는 폴더까지 절대경로를 줘라"+filePath;
(ex. 원도우경우 c:\programfile\download\ 유닉스 /export/home/download 리눅스 /root/home/download)
File file = new File(path);
response.setContentType("application/octet-stream");
String Agent=request.getHeader("USER-AGENT"); //브라우져의 버젼을 알 수있다 흐흐
if(Agent.indexOf("MSIE")>=0){
int i=Agent.indexOf('M',2);//두번째 'M'자가 있는 위치
String IEV=Agent.substring(i+5,i+8);
if(IEV.equalsIgnoreCase("5.5")){
// filename은 순수한 파일명만
response.setHeader("Content-Disposition", "filename="+new String(fileName.getBytes("euc-kr"),"8859_1"));
}
else{
response.setHeader("Content-Disposition", "attachment;filename="+new String(fileName.getBytes("euc-kr"),"8859_1"));
}
}
else{
response.setHeader("Content-Disposition", "attachment;filename="+new String(fileName.getBytes("euc-kr"),"8859_1"));
}
byte b[] = new byte[1024];
if (file.isFile()){
try {
BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1){
outs.write(b,0,read);
out.clear();
}
outs.flush();
outs.close();
fin.close();
}
catch(Exception e){
e.printStackTrace();
}
}
%>
추가로 잘못된거 있음 알려주세요 ^^;