zoukankan      html  css  js  c++  java
  • 记录java工程jar包发布时下载功能出现找不到文件的问题

      在做下载功能时,我们会发现明明在IED中运行的好好的,可是一部署,功能就不好用了。其中一个原因可能就是找不到要下载的文件路径了。如果报类似下面的错误,那肯定就是这个问题了,报错信息如下:

    java.io.FileNotFoundException: file:demo.jar!BOOT-INFclasses! emplate-filescrldemo.xlsx (文件名、目录名或卷标语法不正确。)

      解决办法是使用getResourceAsStream方法,该方法同样适合war包,示例如下:

        @RequestMapping(value = "downLoad")
        public void downLoad2(HttpServletResponse response) {
            String path = "template-files/crl/demo.xlsx";
            try {
                InputStream inputStream =this.getClass().getClassLoader().getResourceAsStream(path);
                OutputStream  outputStream = response.getOutputStream();
                response.setContentType("application/x-download");
                response.addHeader("Content-Disposition", "attachment;filename="+"demo.xlsx");
                IOUtils.copy(inputStream, outputStream);
                outputStream.flush();
                inputStream.close();
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

      文件路径:resources/template-files/crl/demo.xlsx

  • 相关阅读:
    CSS3 经典教程系列:CSS3 线性渐变(linear-gradient)
    JS定义函数
    CSS选择器和jQuery选择器的区别与联系
    jQuery 选择器、遍历方法
    jQuery中$()函数
    JS对象和Jquery对象
    [Alpha]Scrum Meeting#2
    [Alpha]Scrum Meeting#1
    knowledge_docker
    problems_docker
  • 原文地址:https://www.cnblogs.com/javasl/p/14030796.html
Copyright © 2011-2022 走看看