POI之下載模板(或各種文件)
阿新 • • 發佈:2017-10-28
工具 str onclick != context clas ktr odi tex
該例基於Nutz框架
前臺代碼:
<a href="" id="errordownload" onclick="downloadErrorLogsFile()"></a>
function downloadErrorLogsFile()
{$("errordownload").attr("href","${base}/platform/sys/user/downloaErrorLogsFile?filename="+filename);}
後臺Controler層:
/** * 下載模版或其他文件等, */ @At @Ok("void") public classDownload { //下載模版工具類 public void downloadFile(@Param(fileName)String fileName,HttpServletRequest request,HttpServletResponse response) throws Exception {
response.setContentType("text/html;charset=UTF-8");
BufferedInputStream in = null;
BufferedOutputStream out = null; request.setCharacterEncoding("UTF-8"); String rootpath = request.getSession().getServletContext().getRealPath("/"); try { File f = new File(rootpath + "uploadFile/" + fileName); response.setContentType("application/x-excel"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment; filename="+new String(fileName.getBytes("gbk"),"iso-8859-1")); response.setHeader("Content-Length",String.valueOf(f.length())); in = new BufferedInputStream(new FileInputStream(f)); out = new BufferedOutputStream(response.getOutputStream()); byte[] data = new byte[1024]; int len = 0; while (-1 != (len=in.read(data, 0, data.length))) { out.write(data, 0, len); } } catch (Exception e) { e.printStackTrace(); } finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } }
POI之下載模板(或各種文件)