上传文件的最佳位置

处理一些导入过程,我需要先在服务器上的某个位置上传文件,然后我需要从这个位置选择文件将其导入系统。 我只是想知道什么是存储上传文件的最佳位置。 我没什么选择

1)可以在tomcat的根目录中创建一个文件夹,然后将上传文件放在那里,稍后可以为导入过程选择文件。

File dir = new File(System.getProperty("catalina.base"), "uploads"); 

这是一个很好的选择,天气上面的代码将在所有环境中同样有效

2)我可以在我的应用程序下创建一个uploads文件夹,可以访问它进行文件上传,然后使用以下代码进行导入

 ServletActionContext.getServletContext().getRealPath("uploads"); 

您需要做的宝贵建议我需要做的唯一工作就是上传文件并运行上传文件的导入过程,一旦导入成功,将文件从此文件夹中删除到其他类似处理过的文件等。

 File dir = new File(System.getProperty("catalina.base"), "uploads"); 

它不适用于没有catalina.base属性的环境。 因此,您需要在webapp的安装手册中正确记录它,以确保在相关的服务器计算机上设置此属性,或者寻找替代方法。


 ServletActionContext.getServletContext().getRealPath("uploads"); 

这不是永久存储的好选择。 重新部署WAR时,一切都会丢失。

而是将其存储在webapp外部的已知且固定的路径中,并在Tomcat的/conf/server.xml其路径添加为 ,以便它也可以在线使用。

如果由于某种原因不想更改Tomcat的/conf/server.xml ,则需要创建一个servlet,使用FileInputStream从磁盘读取文件并将其写入响应的OutputStream 。 你可以在这里找到一个基本的例子。

相关问题:

  • 从外部应用程序服务器提供静态文件的最简单方法