zoukankan      html  css  js  c++  java
  • springboot打成jar包后文件下载问题

    首先springboot项目使用内置tomcat打成jar包后如果将文件放在resource下 需要使用 如下方式读取

    因为打成jar包后资源文件是在jar包里的,通过File获取资源绝对路径是不能访问到jar包里面的,因此使用ResourceLoader去获取文件。

    InputStream inputStream = null;
            ResourceLoader resourceLoader = new DefaultResourceLoader();
            Resource resource=resourceLoader.getResource("classpath:file/毒品价格模板.xlsx");
            logger.info(resource.toString());
            BufferedInputStream bis=null;
            try {
                inputStream=resource.getInputStream();
                String fileName="毒品价格模板.xlsx";
                response.addHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8"));
                response.addHeader(HttpHeaders.CONTENT_TYPE,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
                BufferedOutputStream bos = new BufferedOutputStream(
                        response.getOutputStream());
                bis = new BufferedInputStream(inputStream);
                byte[] b=new byte[1024];
                int i = bis.read(b);
                while (i != -1) {
                    bos.write(b, 0, b.length);
                    bos.flush();
                    i = bis.read(b);
                }
            } catch (IOException e) {
                e.printStackTrace();
    
            } finally {
                if (inputStream != null) {
                    try {
                        inputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (bis != null) {
                    try {
                        bis.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
  • 相关阅读:
    Redis配置文件详解
    Redis基本操作-20150608
    Redis操作命令
    JedisPoolConfig配置
    jedis提供的功能
    配置Redis主从复制
    python数组查找算法---bisect二分查找插入
    python赋值和拷贝----一切皆对象,参数皆引用
    xml 解析 python
    进阶中级程序员需要做的事
  • 原文地址:https://www.cnblogs.com/fangyan1994/p/12887422.html
Copyright © 2011-2022 走看看