这在单元测试中工作正常。我得到了文件,可以打印内容。当我在服务器上部署它时,我得到一个FilenotFoundExcpetion。这可能是什么原因?我正在tomcat上部署。
String path = "WebContent/images/image.jpeg";
FileSystemResource resource = new FileSystemResource(path);
File image = resource.getFile();
答案 0 :(得分:1)
使用上下文路径为您的工作项目带来位置,然后您可以存储您自己的路径,就像您提到的images / image.jpg
String path = request.getSession().getContextPath().getRealPath("/")+"images/image.jpg";
我想它会对你有所帮助!!
答案 1 :(得分:0)
将Web应用程序部署到服务器上时,WebContent文件夹是隐式的。
在Web服务器使用的上下文中执行时 String path =“/ images / image.jpeg”;
也
使用Class.getResourceAsStream()
答案 2 :(得分:0)
String path = "WebContent/images/image.jpeg";
这是一个相对路径,当部署在像tomcat这样的servlet容器中时,它将相对于您的部署目录或tomcat的主目录。可能你没有名为Webconent的目录。 WebContent的内容也许也可能在战争中。
我能想到两个解决方案
getRealPath
或request
ServletContext
方法
ClassPathResource
WEB-INF\classes