%@ page contentType="text/html; charset=utf-8"%><%@ page import="java.io.*,java.net.*,com.jerei.website.utils.*"%><%
String path = application.getRealPath("/");
String filename = Common.filterHtml(Common.getString(request,"filename"));
if (filename == null){
filename = "";
}
filename = filename.replace("..", "");
path = path.replace("/upload", "upload");
String title = Common.filterHtml(Common.getString(request,"title"));
if (title == null){
title = "";
}
if (filename.length() > 4) {
title = title + filename.substring(filename.length() - 4);
}
filename = path + filename;
//out.println(filename + "--" + title);
java.io.File ff = null;
try {
ff = new java.io.File(filename);
if (!ff.exists()) {
out.print("文件下载失败!");
return;
}
} catch (Exception e) {
out.print("文件下载失败!");
return;
}
try {
if (ff != null && ff.exists() && ff.isFile()) {
long filelength = ff.length();
InputStream inStream = new FileInputStream(filename);
response.reset();
response.setContentType("charset=utf-8");
response.setContentType("application/x-msdownload");
response.setContentLength((int) filelength);
response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(title, "UTF-8") + "\"");
byte[] b = new byte[100];
int len = 0;
while ((len = inStream.read(b)) > 0){
response.getOutputStream().write(b, 0, len);
}
inStream.close();
}
}catch (Exception e) {
out.print("文件下载失败!");
} finally {
out.clear();
out = pageContext.pushBody();
}
%>