页面:java代码:public class Download extends HttpServlet { public Download() { super(); } public void d
页面:
<a href="servlet/Download" >下载a>
java代码:
public class Download extends HttpServlet { public Download() { super();
} public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { this.doPost(request,response);
} public void doPost(HttpServletRequest request,IOException {
String path = "D:/upload/哈哈哈.txt"; try { File file = new File(path); String filename = file.getName(); String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase(); InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close(); response.reset(); response.addHeader("Content-Disposition","attachment;filename=" + new String(filename.getBytes("gb2312"),"ISO8859⑴"));
response.addHeader("Content-Length","" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
} public void init() throws ServletException { }
}
这类下载方式只能下载在程序本地磁盘中的文件。 如果想下载服务器中的(比如通过上传放置在tomcat服务器下)文件,请看我另外一篇博客:
使用jspsmartupload上传下载