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