<%@ page contentType="application/unknown; charset=euc-kr" %>
<%@ page import="java.util.*,java.io.*"%>
<%
request.setCharacterEncoding("euc-kr");
String filename = request.getParameter("filename");
String filename2 = filename.substring(filename.lastIndexOf("/")+1);
System.err.println(filename2);
if (filename == null) {
return;
}
String mime = getServletContext().getMimeType(filename);
if (mime == null) {
mime = "application/octet-stream;";
}
// 자신에게 맞게 수정할 것.
File file = new File(application.getRealPath(filename));
byte b[] = new byte[2048];
response.setContentType(mime);
if(file.length() > 0) {
if (request.getHeader("User-Agent").indexOf("MSIE 5.5") > -1) {
response.setHeader("Content-Disposition", "filename=" +filename2 + ";");
} else {
response.setHeader("Content-Disposition", "attachment; filename=" + filename2 + ";");
}
response.setHeader("Content-Length", "" + file.length() );
if (file.isFile()) {
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.close();
fin.close();
}
} else {
out.println("<script>alert('다운로드 파일이 없습니다.');history.back();</script>");
}
%>
'Carpe Programming > java' 카테고리의 다른 글
[파일 존재 여부 체크] URLConnection (0) | 2013.02.20 |
---|---|
동일 서버에 있는 파일 다른 이름으로 복사 (0) | 2012.12.12 |
[vo toString] ToStringBuilder 클래스 (0) | 2012.06.28 |
[java] vo 값 모두 print (0) | 2012.05.30 |
[jar] java.lang.NoClassDefFoundError (0) | 2012.02.01 |