prader6

下载根目录下的pdf文件, 浏览器下载

复制代码
 public void outPut(HttpServletRequest request, HttpServletResponse response, Integer type) {
        ClassPathResource classPathResource = new ClassPathResource("pdf/通知.pdf");
        String filename = "通知.pdf";
        BufferedInputStream bufferedInputStream = null;
        BufferedOutputStream bufferedOutputStream = null;
        try {
            String userAgent = request.getHeader("User-Agent");
            response.setCharacterEncoding("utf-8");
            byte[] bytes = userAgent.contains("MSIE") ? filename.getBytes() : filename.getBytes("UTF-8");
            response.setContentType("application/pdf");
            response.addHeader("Content-Disposition",
                    "attachment;filename=" + new String(bytes, "iso8859-1"));
            bufferedInputStream = new BufferedInputStream(classPathResource.getInputStream());
            //bufferedOutputStream = new BufferedOutputStream(response.getOutputStream());
            byte[] bytes2 = new byte[1024];
            int i = 0;
            while ((i = bufferedInputStream.read(bytes2)) != -1){
                response.getOutputStream().write(bytes2, 0, i);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                response.getOutputStream().flush();
                response.getOutputStream().close();
                //bufferedOutputStream.close();
                bufferedInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
复制代码

 上面的被注销掉的两行代码,在没有注销之前,下载的pdf老是打不开。再去掉包装之后,文件可以正常打开。

posted on   prader6  阅读(281)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

导航

统计

点击右上角即可分享
微信分享提示