文件下载

doPost():
                String fileName = request.getParameter("fileName");
                File file = new File(this.getServletContext().getRealPath("/exportData/" + fileName));
                logger.debug("开始写入文件" + file);
                // 以流的形式下载文件。
                InputStream fis = new BufferedInputStream(new FileInputStream(file));
                byte[] buffer = new byte[fis.available()];
                fis.read(buffer);
                fis.close();
                // 清空response
                response.reset();
                // 设置response的Header
                response.addHeader("Content-Disposition", "attachment;filename="
                        + new String(fileName.getBytes("GBK"), "ISO-8859-1"));
                response.addHeader("Content-Length", "" + file.length());
                OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
                response.setContentType("application/octet-stream");
                toClient.write(buffer);
                toClient.flush();
                toClient.close();

 

posted @ 2019-01-02 17:10  一个小机灵  阅读(100)  评论(0编辑  收藏  举报