相对路径在服务器上不起作用-Spring Boot和Docker

时间:2019-09-23 09:22:36

标签: spring-boot file filepath

我有一项服务(Spring Boot)。我的功能之一是读取docx文件,替换一些文本并保存在客户端计算机上。

我有一个skom.docx文件,可以在本地毫无问题地找到该文件:

@Getter
public enum ReportTemplatesEnum {

    KANC("src/main/resources/templates/skom.docx");

    private final String path;
}

(...)
    File file = new File(reportData.getReportType().getPath()); --> the path from Enum
            FileInputStream fis = new FileInputStream(file.getAbsolutePath());
            XWPFDocument doc = new XWPFDocument(fis);
(...)

但是当我将服务部署到服务器(包含在Docker中)时,出现错误:  请求:/ odo / incident / generateOneReport / 255 methodGET

  

java.io.FileNotFoundException:/src/main/resources/templates/skom.docx   (没有这样的文件或目录)

如何准备文件的路径? 在本地完美运行。

更新-解决方案

Resource resource = new ClassPathResource(reportData.getReportType().getPath());
                InputStream dbAsStream = resource.getInputStream();
                XWPFDocument doc = new XWPFDocument(dbAsStream);

0 个答案:

没有答案