文件下载

5年以前  |  阅读数:2878 次  |  编程语言: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 {

    }
}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
贪吃蛇
文件下载
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例