kenu
2001-08-07 00:23:37
4
18171

초간단 파일다운로드 소스


◎ No, 141
◎ 이름:듀크 (sangojung@korea.com)
◎ 홈페이지:http://duke05.uniadnet.com
◎ 2001/2/19(월) 06:40
◎ 조회: 282 회

파일 다운로드 코드(간단히 만들어봤습니다.)

간단한 파일 다운로드 프로그램임다..
그냥 보구 공부하시라구요.. ^^;
밑에 있는 코드는 제가 게시판 맹글면서 맹근 초간단 파일 다운 파일 임다.. ^^
링크는 download.jsp?db=db이름&table=table이름&num=번호 와 같이 하면 됩니다.

-- download.jsp --

<%@ page contentType="text/html; charset=EUC_KR" %>
<%@ page import="java.io.*, IBboard.beans.file.FileDownload" %>
<%
//응답 헤더의 Content-Type을 세팅한다.
response.setContentType("application/x-msdownload");

FileDownload filedown = new FileDownload();

//DB에서 해당 번호에 해당하는 파일의 이름을 얻어온다.
String filename = filedown.NumToFilename(request.getParameter("db"),request.getParameter("table"),Integer.parseInt(request.getParameter("num")));
//Content-Disposition 헤더에 세팅하기위해 file 이름을 코드 변환한다.
//한글파일 Download 시에 에러가 나는게 이 코드가 빠져 있어서 그런거 같은디..^^
String filename2 = new String(filename.getBytes("euc-kr"),"8859_1");
//Content-Disposition 헤더에 파일 이름 세팅.
response.setHeader("Content-Disposition","attachment; filename="+filename2);
//해당 경로의 파일 객체를 만든다.
File file = new File ("/usr/local/apache/htdocs/upload/"+filename);
//파일 스트림을 저장하기 위한 바이트 배열 생성.
byte[] bytestream = new byte[(int)file.length()];
//파일 객체를 스트림으로 불러온다.
FileInputStream filestream = new FileInputStream(file);
//파일 스트림을 바이트 배열에 넣는다.
int i = 0, j = 0;

while((i = filestream.read()) != -1) {
bytestream[j] = (byte)i;
j++;
}
// 응답 스트림 객체를 생성한다.
OutputStream outStream = response.getOutputStream();
// 응답 스트림에 파일 바이트 배열을 쓴다.
outStream.write(bytestream);
outStream.close();
%>

from: http://www.jspschool.com/bbs/technote/read.cgi?board=Tip&y_number=140&nnew=2
0
  • 댓글 4

  • tips
    2002-01-16 20:12:58
    다운로드
  • tyr
    2002-07-05 11:59:12
    ttry
  • kenu
    2002-12-11 23:22:07
    byte[] bytestream = new byte[(int)file.length()];

    byte[] bytestream = new byte[4096];
    으로 바꿔서 쓰세요.
  • jjlove
    2002-12-17 17:21:39
    저는 다운받는 jsp를 새창을 띄워서 했습니다. 근데 attachment; 를 쓰면.. 앞부분에 실제적으로 찾아가야 할 경로 말고 res://C:\WINNT\system32\shdoclc.dll/navcancl.htm#http://가야할 경로
    가야할 경로 앞에 저런 이상한 것들이 붙습니다.
    왜 그런지 갈켜주시면 감사하겠습니다.
  • 로그인을 하시면 댓글을 등록할 수 있습니다.