【问题标题】:How to build directory and file hierarchy uploading functionality using JSP and servlet?如何使用 JSP 和 servlet 构建目录和文件层次结构上传功能?
【发布时间】:2012-10-31 11:11:35
【问题描述】:

我正在使用 JSP 和 servlet 构建应用程序。我正在尝试在其中构建文件上传功能。我想确保将我在本地创建的文件夹结构传输到 Apache Web 服务器。有哪些方法可以实现这一目标?我有一个表单,我在其中使用输入文件控件提供特定文件夹的路径。当我提交表单时,应在 Web 服务器上创建表单中所选文件夹下的任何文件和文件夹层次结构。如果文件夹包含任何文件,则文件应自动传输到服务器。有可能实现这样的功能吗?

【问题讨论】:

    标签: jsp servlets file-upload


    【解决方案1】:

    上传文件时,您通常只会获得文件名和文件内容。您通常也不会获得整个客户端磁盘文件系统路径。只有糟糕的 MSIE 网络浏览器会由于安全错误而错误地发送此信息,但您应该在 /\ 上将其删除,并仅以文件名结束,或者如果您使用的是 Apache Commons FileUpload, FilenameUtils#getName().

    对于服务器端的文件夹结构,只需将上传的文件以唯一的名称存储在固定文件夹中即可。不要不必要地创建其他文件夹,除非该文件夹应该识别登录用户或其他东西,当然。您可以使用File#createTempFile() 根据文件名前缀和文件名后缀(扩展名)创建唯一的文件名,以避免偶然覆盖相同名称的上传文件。

    关于服务器端上传文件夹位置,请确保它不在服务器文件夹结构中的 webapp 部署文件夹中。即每次重新部署webapp时都会丢失,原因很简单,上传后新添加/更改的文件不包含在待部署的WAR中。

    至于提供文件,只需将上传文件夹位置作为另一个虚拟主机添加到服务器配置中。不清楚您对“Apache Web 服务器”的确切含义是什么,因为 Apache 是一家构建许多软件产品的大型软件公司。你的意思是 Apache HTTPD 吗?阿帕奇 Tomcat?阿帕奇汤姆EE?阿帕奇杰罗尼莫?等等。当您在 JSP/Servlet 上下文中讨论时,我将假设 Apache Tomcat。然后前往这个答案:How I save and retrieve an image on my server in a java webapp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多