글쓴이 :야옹이 2000년 4월 28일 12:32:55
아래와 같은 화일 다운로드에서
다운로드실행시
URL을 숨기고 싶습니다.
아래의 예를 실행시켜
다운로드를 실행하면
Filelist?JSPExamBegin.pdf 라고 나오는데..
이것을 JSPExamBegin.pdf만 나오게 하고 싶습니다.
정말 급한데요..
좀 도와 주세요..
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.zip.*;
import java.util.*;
import java.util.StringTokenizer;
public class Filelist extends HttpServlet {
public String filepath;
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
String filename = req.getParameter("filename");
filepath = req.getRealPath("/Databank");
try {
if(filename == null) {
//PrintWriter out = new PrintWriter( new OutputStreamWriter( res.getOutputStream(), "KSC5601") );
PrintWriter out = res.getWriter();
out.println("<html><body>");
out.println("<form name=form method=get action=/servlet/Filelist>");
out.println("<p align=center> 자료실 </p>");
// File ListFile=new File(filepath);
// String[] filelist = ListFile.list();
// int i;
// for(i=0; i<filelist.length; i++) {
out.println("<a href='Filelist?filename=JSPExamBegin.pdf'>JSPExamBegin.pdf</a><br>");
out.println("----------------->");
// }
out.println("</form></body></html>");
}else {
byte b[] = new byte[1024];
File file=new File(filepath, filename);
FileInputStream fin = new FileInputStream(file);
res.setContentType("application/smnet");
//res.setHeader("Content-disposition","attachment; filename="+filename+";");
res.setHeader("Content-Disposition", "attachment; filename="+filename+";");
ServletOutputStream oout = res.getOutputStream();
int numRead = fin.read(b);
while (numRead != -1) {
oout.write(b, 0, numRead);
numRead = fin.read(b);
}
oout.close();
}// end if/else
}catch(Exception e) {
new PrintStream(res.getOutputStream()).println(e.toString());
}
}
}