我已将应用程序部署在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”,以便从部署在同一服务器上的客户端应用程序进行访问。
答案 0 :(得分:1)
您可以通过以下方式获取tomcat的原始路径
System.getProperty( "catalina.base" );
然后,根据您的情况,/webapps/assets
希望这会有所帮助:)
答案 1 :(得分:0)
也许我错了,但是您应该从Multipart文件中提供字节!
../ assets / users / image /
是错误的。我认为,您应该从根文件夹开始,或者使用Paths.get()
nio。