上传文件的最佳位置
:
在Servlet应用程序中保存上传文件的推荐方法 (2个答案)
4年前关闭。
在某些导入过程中,我需要首先在服务器上的某个位置上传文件,然后才需要从该位置选择文件以将其导入到系统中。我只是想知道什么是存储上载文件的最佳位置。我别无选择
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时,一切都会丢失。
而是将其存储在您的Web应用程序外部的已知且固定的路径中,并像<Context>
在Tomcat中一样添加其路径,/conf/server.xml
以便它也可以在线使用。
如果/conf/server.xml
由于某种原因不想更改Tomcat
,则需要创建一个servlet,该servlet使用来从磁盘读取文件FileInputStream
并将其写入OutputStream
响应的。您可以在此处找到一个基本示例。
以上是 上传文件的最佳位置 的全部内容, 来源链接: utcz.com/qa/411283.html