<%@page import="com.oreilly.servlet.multipart.FilePart"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page contentType="text/html; charset=euc-kr"%>
<%
// 프로젝트 내에 저장될 폴더를 지정
String realFolder="";
// 본인이 만든 폴더명
String saveFolder="File";
// 서블릿 클래스의 정보를 얻어오는 객체 선언
ServletContext context =getServletContext();
// 프로젝트 내에 파일이 저장될곳의 위치를 얻어옴
realFolder = context.getRealPath(saveFolder);
java.io.File f = new java.io.File(realFolder);
if(f.exists()){
String [] filelist = f.list();
for(int i=0;i<filelist.length;i++){
java.io.File f2 = new java.io.File(realFolder + "/" + filelist[i]);
out.println("<a href='FileDown.jsp?file="+f2.getName()+"'>"+f2.getName()+"</a><BR>");
}
}
%>
- jsp 파일 다운로드 소스
<%@ page contentType="text/html; charset=euc-kr"%>
<%@ page import="java.io.FileInputStream"%>
<%@ page import="java.io.BufferedInputStream"%>
<%@ page import="java.io.File"%>
<%@ page import="java.io.IOException"%>
<%
// 프로젝트 내에 저장될 폴더를 지정
String realFolder = "";
// 본인이 만든 폴더명
String saveFolder = "File";
String realFolder = "";
// 본인이 만든 폴더명
String saveFolder = "File";
ServletContext context = getServletContext();
// 프로젝트 내에 파일이 저장될곳의 위치를 얻어옴
realFolder = context.getRealPath(saveFolder);
// 프로젝트 내에 파일이 저장될곳의 위치를 얻어옴
realFolder = context.getRealPath(saveFolder);
String parent = "e2";
String filename = request.getParameter("file");
String filename = request.getParameter("file");
String filepath = realFolder + "/";
BufferedInputStream buf = null;
ServletOutputStream myOut = null;
ServletOutputStream myOut = null;
try {
out.clear();
out =pageContext.pushBody();
myOut = response.getOutputStream();
File myfile = new File(filepath + filename);
out.clear();
out =pageContext.pushBody();
myOut = response.getOutputStream();
File myfile = new File(filepath + filename);
response.setContentType("text/plain");
response.addHeader("Content-Disposition",
"attachment; filename=" + filename);
"attachment; filename=" + filename);
response.setContentLength((int) myfile.length());
FileInputStream input = new FileInputStream(myfile);
buf = new BufferedInputStream(input);
int readBytes = 0;
buf = new BufferedInputStream(input);
int readBytes = 0;
while ((readBytes = buf.read()) != -1){
myOut.write(readBytes);
}
myOut.close();
buf.close();
} catch (Exception ioe) {
myOut.write(readBytes);
}
myOut.close();
buf.close();
} catch (Exception ioe) {
//ioe.printStackTrace();
}
%>
%>