用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

文件下载

2019-05-22 作者:云代码会员举报

[java]代码库

@RequestMapping(value = "/downfile", method = RequestMethod.GET)
    public void downfile(HttpServletRequest request, HttpServletResponse response) {
        try {
            String fileName = request.getParameter("fileName");
            String newPath = request.getSession().getServletContext().getRealPath("") + File.separator
                     + fileName;
            LoggerUtil.info(this.getClass(),"【获取到打印模板】:"+newPath);
            File file = new File(newPath);
            if (!file.exists()) {
                response.getWriter().write("<font color='red'>系统打印异常,请联系管理员</font>");
                return;
            }
            String fileNameShow = fileName.substring(fileName.lastIndexOf("/")+1, fileName.length());
            FileInputStream is = new FileInputStream(file);
            // 设置相应的头部
            response.addHeader("pragma", "NO-cache");
            response.addHeader("Cache-Control", "no-cache");
            response.addDateHeader("Expries", 0);
            response.setContentType("application/x-download;charset=utf-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileNameShow, "UTF-8"));
            IOUtils.copy(is, response.getOutputStream());
            is.close();
        } catch (Exception e) {
            LoggerUtil.error(this.getClass(), "模板打印异常" + e, e);
            try {
                response.getWriter().write("<font color='red'>系统打印异常,请联系管理员</font>");
            } catch (IOException e1) {
                LoggerUtil.error(this.getClass(), "response写出异常" + e1, e1);
            }
        }finally {
            
        }
    }


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。