下载根目录下的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老是打不开。再去掉包装之后,文件可以正常打开。

原文地址:https://www.cnblogs.com/prader6/p/12054394.html

时间: 2024-09-29 13:11:49

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

C#将制定文件夹下的PDF文件合并成一个并输出至指定路径

/// <summary> /// 将源路径下的PDF合并至目标路径下 /// </summary> /// <param name="SourcePath">源路径</param> /// <param name="TargetPath">目标路径</param> /// <param name="NewFileName">新文件名</param>

在linux终端下打开pdf文件

已经使用linux有很长的时间了,感觉linux的终端使用起来非常的方便.但是怎么在linux下用命令的方式打开pdf文件呢.我查了一下,打开pdf的命令是: evince [filename] 例如当前的目录下有一个hello.pdf文件,那么我们可以使用以下命令打开它: evince hello.pdf

MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示

初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和presenter层的接口代码 public interface IImgsView { void onImgsLoadCompleted(ArrayList<String> imgs); } public interface IImgsPresenter { void getImages(File[]

递归显示指定文件夹下所有pdf文件

import java.io.File;public class readFile {  public static void main(String[] args) throws Exception {    //递归显示C盘下所有文件夹及其中文件    File root = new File("C:/Users/Administrator/Desktop");    showAllFiles(root);  }   public static void showAllFiles(

怎样让 pdf 文件直接下载而非在浏览器里打开

问题:点击 <a href="18禁.pdf">下载</a> 的时候,Chrome 会自动调用内置的 pdf 阅读器打开,我只想让用户下载这个文件,有什么办法呢? 答案:<a href="18禁.pdf" download>下载</a>

C# 生成pdf文件客户端下载

itextsharp.dll 下载:http://sourceforge.net/projects/itextsharp/ 程序需引用:itextsharp.dll,itextsharp.pdfa.dll,PresentationFramework.dll 本人使用的是一般处理程序来写的,废话不多说代码才是硬道理,使用插件定位图片,表格是使用html转的pdf 1 public void ProcessRequest(HttpContext context) 2 { 3 context.Resp

《数据结构与算法分析Java语言描述》PDF文件免费下载

图书简介: 本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计). 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长.本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面.缜密严格,并细致讲解精心构造程序的方法. 图书目录部分截图: 结语:总结 数据结构与算法分析需要这份PDF文档的朋友,欢迎加Q群:219571750,免费领取,

Linux的内核源码树的根目录下的每个文件的含义简介

在下载Linux内核源码包解压后,Linux的内核源码树的根目录的每一个含义看不太明白,估计每个喜欢研究内核源码的小伙伴刚开始都会有此疑问,因此,在这里对Linux内核源码的根目录的每个文件包做些简介,让喜欢研究内核源码的小伙伴对内核这个看起来特别神秘且复杂的东西有个大体的了解. 具体的详情请见下表: Linux 内核源码树的根目录描述 目录 含义描述 arch 特定体系结构的源码 block 块设备 I/O层 crypto 加密API Documentation 内核源码文档 drivers

遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包

List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<string>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrows