【问题标题】:How can I write a file in tomcat folder?如何在tomcat文件夹中写入文件?
【发布时间】:2018-12-30 01:20:38
【问题描述】:

我已经在 Apache Tomcat 中部署了我的应用程序。

我有一个文件夹(资产)来保存文件。所以想在webapps/assets

里面写一个文件

我为此尝试了以下代码

    private String uploadedFiles(MultipartFile files) throws IOException {
    String filePath = "../assets/users/image/" + files.getOriginalFilename();

    File file = new File(filePath);
    byte[] bytes = file.getBytes();

    FileOutputStream out = new FileOutputStream(file);
    out.write(bytes);
    out.close();

但我得到 java.io.FileNotFoundException: ../assets/myfile.jpg(系统找不到指定的路径)

如何保存这个文件?

注意:我想要这种文件夹结构。因为我会将“../assets/myfile.png”保存在数据库中,以便从部署在同一服务器中的客户端应用程序访问。

【问题讨论】:

  • 你的应用是基于框架的还是纯java的?

标签: java file tomcat java-io fileoutputstream


【解决方案1】:

你可以用

获取tomcat的主路径
System.getProperty( "catalina.base" );

然后您可以在此添加您的路径,在您的情况下为/webapps/assets

希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    也许我错了,但你应该从 Multipart 文件中给出字节! 像这样的

    ../assets/users/image/

    错了。我想,你应该从根文件夹开始,或者使用Paths.get()nio。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 2019-11-26
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 2022-09-27
      相关资源
      最近更新 更多