上传文件的最佳位置

Ume*_*thi 7 java tomcat servlets

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

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

File dir = new File(System.getProperty("catalina.base"), "uploads");
Run Code Online (Sandbox Code Playgroud)

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

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

ServletActionContext.getServletContext().getRealPath("uploads");
Run Code Online (Sandbox Code Playgroud)

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

Bal*_*usC 10

File dir = new File(System.getProperty("catalina.base"), "uploads");
Run Code Online (Sandbox Code Playgroud)

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


ServletActionContext.getServletContext().getRealPath("uploads");
Run Code Online (Sandbox Code Playgroud)

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

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

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

相关问题: