1. 程式人生 > >POI之下載模板(或各種文件)

POI之下載模板(或各種文件)

工具 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 class
Download { //下載模版工具類 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之下載模板(或各種文件)