%@page contentType="text/html; charset=utf-8" %>
<%@ include file = "/common/common.jsp"%>
<%
String bbsCd = Util.nullToString(request.getParameter("bbs_cd"));
String pSeq = Util.nullToString(request.getParameter("p_seq"));
String seq = Util.nullToString(request.getParameter("seq"));
String filePath = PropertyManager.getProperty("dir.bbsfiles");
String fileName = null;
String oriFileName = null;
StringBuffer sql = new StringBuffer();
DBManager dbm = null;
QueryResult qr = null;
List param = new ArrayList();
param.add(bbsCd);
param.add(pSeq);
param.add(seq);
try {
dbm = new DBManager();
sql.append("SELECT NAME, ORI_NAME FROM T_CM_COMMON_BBS_FILE WHERE BBS_CODE = ? AND P_SEQ = ? AND SEQ = ?");
qr = dbm.executeQuery(sql, param);
if(qr.hasNext()) {
fileName = qr.nextValue(1);
oriFileName = qr.nextValue(2);
sql.delete(0, sql.length());
sql.append("UPDATE T_CM_COMMON_BBS_FILE SET DOWNHIT = DOWNHIT + 1 WHERE BBS_CODE = ? AND P_SEQ = ? AND SEQ = ?");
dbm.executeUpdate(sql, param);
} else {
out.print(HTMLUtil.getScript("alert('파일이 존재하지 않습니다.');"));
}
} catch(Exception e) {
out.print(HTMLUtil.getScript("alert('처리중 오류가 발생하였습니다.');"));
return;
} finally {
if(dbm != null)
dbm.releaseConnection();
}
InputStream in = null;
OutputStream os = null;
try {
out.clear();
File file = new File(filePath + fileName);
if(file.exists()) {
in = new FileInputStream(file);
response.reset();
//response.setContentType("");
response.setHeader ("Content-Disposition", "attachment; filename=\"" + oriFileName + "\"" );
response.setHeader ("Content-Length", "" + file.length());
os = response.getOutputStream();
byte b[] = new byte[4096];
int len = 0;
while((len = in.read(b)) > 0 ) {
os.write(b, 0, len);
}
} else {
out.print(HTMLUtil.getScript("alert('파일이 존재하지 않습니다.');"));
}
} catch(Exception e) {
out.print(HTMLUtil.getScript("alert('처리중 오류가 발생하였습니다.');"));
} finally {
if(in != null) {
try {
in.close();
} catch(Exception e) {}
}
if(os != null) {
try {
os.close();
} catch(Exception e) {}
}
}
%>