我们就直接切入主题啦,文件下载只需要四步:
1.设置文件ContentType类型
2.设置文件头
3.通过response获取ServletOutputStream对象(out)
4.写到输出流(out)中
//文件下载 public String download() throws Exception { HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); ActionBase actionBase = new ActionBase(); String result = actionBase.actionBegin(request); String fileName = ServletRequestUtils.getRequiredStringParameter(request,"fileName"); if (fileName != null) { File file = new File("D:\\app\\cms\\tomcat\\webapps\\ROOT\\WEB-INF\\upload\\"+fileName); FileInputStream is = new FileInputStream(file); response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859_1")); OutputStream out = response.getOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { out.write(buffer, 0, len); } out.flush(); out.close(); } else { PrintWriter writer = response.getWriter(); writer.write("设备系统配置文件不存在,请确认是否已经上传。"); writer.close(); } return null; }