File dir = new File(System.getProperty("catalina.base"), "uploads");
它在
catalina.base缺少属性的环境中不起作用。因此,您需要在webapp的安装手册中正确记录它,以确保在相关服务器计算机上设置了此属性,或者正在寻找其他方法。
ServletActionContext.getServletContext().getRealPath("uploads");
这不是永久存储的好选择。每当您重新部署WAR时,一切都会丢失。
而是将其存储在您的Web应用程序外部的已知且固定的路径中,并像
<Context>在Tomcat中一样添加其路径,
/conf/server.xml以便它也可以在线使用。
如果
/conf/server.xml由于某种原因不想更改Tomcat
,则需要创建一个servlet,该servlet使用来从磁盘读取文件
FileInputStream并将其写入
OutputStream响应的。您可以在此处找到一个基本示例。



