如何在tomcat文件夹中写入文件?

时间:2018-07-22 11:00:53

标签: java file tomcat java-io fileoutputstream

我已将应用程序部署在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”,以便从部署在同一服务器上的客户端应用程序进行访问。

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式获取tomcat的原始路径

System.getProperty( "catalina.base" );

然后,根据您的情况,/webapps/assets

希望这会有所帮助:)

答案 1 :(得分:0)

也许我错了,但是您应该从Multipart文件中提供字节!

  

../ assets / users / image /

是错误的。我认为,您应该从根文件夹开始,或者使用Paths.get() nio。