Java Can';t在linux服务器上运行的tomcat webapp中保存文件

Java Can';t在linux服务器上运行的tomcat webapp中保存文件,java,linux,tomcat,web-applications,Java,Linux,Tomcat,Web Applications,Im当前正在调试一个webapp,用户应该上传一个文件,然后临时存储在服务器上,并通过电子邮件发送给管理员 该应用程序在linux服务器环境中的tomcat 8上运行。发生错误的类如下所示: @Service public class BugReportBo implements IBugReportBo { ... @Value("${app.temp.folder}") private Resource temp; ... private File byteArr

Im当前正在调试一个webapp,用户应该上传一个文件,然后临时存储在服务器上,并通过电子邮件发送给管理员

该应用程序在linux服务器环境中的tomcat 8上运行。发生错误的类如下所示:

@Service
public class BugReportBo implements IBugReportBo {

  ...

  @Value("${app.temp.folder}")
  private Resource temp;

  ...

  private File byteArrayToFile(final byte[] lob, final String string) throws IOException {
    final int locatorStartPos = 6;
    String uri = temp.getURI().toString().substring(locatorStartPos);

    //uri: var/lib/tomcat/webapps/prototype/res/temp/
    //string: temp0.jpg

    // convert array of bytes into file
    File f = new File(uri + string);
    FileOutputStream fileOuputStream = new FileOutputStream(uri + string);
    fileOuputStream.write(lob);
    fileOuputStream.close();
    return f;
  }
}
FileOutputStream FileOutputStream=newfileoutputstream(uri+字符串)引发错误

异常是一个FileNotFoundException(消息:“var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg(Datei order Verzeichnis nicht gefunden)”

我觉得一切都很好,因为文件夹就在它应该在的地方,路径也很好

有什么想法吗

var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

您忘记了第一个“/”,因此路径被理解为相对路径,而不是绝对路径

/var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

您忘记了第一个“/”,因此路径被理解为相对路径,而不是绝对路径

/var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

您忘记了第一个“/”,因此路径被理解为相对路径,而不是绝对路径

/var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg

您忘记了第一个“/”,因此路径被理解为相对路径,而不是绝对路径

/var/lib/tomcat/webapps/prototype/res/temp/temp0.jpg