<%@ 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(); } %>