zoukankan      html  css  js  c++  java
  • POI之下载模板(或各种文件)

    该例基于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();  
                }  
            }  
          
        }
    }
  • 相关阅读:
    3年A班,从现在起大家都是人质-观后感
    深入浅出的Object.defineProperty()
    在Vue中使用插槽(solt)
    非父子组件间的传值
    给组件绑定原生事件
    组件参数校验与非props特性
    Vue父子组件的数据传递
    Vue组件使用中的细节点
    vue中set基本用法
    vue中的列表渲染
  • 原文地址:https://www.cnblogs.com/Dreamice/p/7747547.html
Copyright © 2011-2022 走看看