【问题标题】:In spring boot which location we are saving a file在spring boot中我们保存文件的位置
【发布时间】:2021-11-27 12:46:27
【问题描述】:

我需要在 Spring Boot 中保存一个文件,我也可以在生产版本中访问它。那么我可以在哪里存储该文件?

获取路径的代码是什么,现在我在 pom.xml 文件位置创建文件

【问题讨论】:

  • 通过什么访问?
  • @meriton for jasper 报告我正在临时保存 pdf 文件,我需要阅读该文件
  • 不清楚你想要什么。 1. 该文件在构建期间是否已经存在(即它应该包含在您的资源中)? 2. 是否也需要写入文件?

标签: java spring spring-boot


【解决方案1】:

您可以自己定义目的地:

一种可能的选择:

        FileOutputStream out;
        String filePath = "your destination";
        try {
            out = new FileOutputStream(filePath);
            out.write(someFile.getBytes());
            out.close();

        } catch (IOException e) {
            e.printStackTrace();
        }

然后通过路径访问它

【讨论】:

  • 我已经完成了,但是在生产中它没有得到那个文件,当我们构建时我们可以得到那个文件?
  • 您可以创建自定义类,其中作为属性将保存为多部分文件。当你需要检索一个文件时,你可以通过简单的getter来完成
  • 不要建议甚至不正确的代码 - 您应该使用 try-with-resource 或可以在没有流的情况下保存字节的现代 Files API...
【解决方案2】:

您可以将文件存储在 Spring Boot 中的任何位置,如上一个答案所示。 但是,为了使其在生产中易于访问,建议将其保存在 src/main/resources 文件夹中,因为这会在构建完成后将其复制到目标文件夹中,您只需在您的文件中提及它的相对路径即可访问它代码,而不是使用它的整个文件路径。

【讨论】:

  • 这是一个没有上下文的坏主意 - 客户端上传的文件绝对不属于 src/main/resources。
猜你喜欢
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 2019-01-10
  • 2014-12-21
  • 2016-07-06
  • 2020-11-24
  • 1970-01-01
  • 2019-04-13
相关资源
最近更新 更多