如何避免命名冲突黑白上传的文件

时间:2011-09-29 06:52:56

标签: java java-ee servlets

Web应用程序将文件(images only)从客户端上传到服务器位置no any DB,并将相同的文件/文件从服务器保存到客户端的计算机。

流程 1.上传文件<input type="file /">
 2.将文件保存到服务器预定位置:java
3.点击保存按钮

,将相同的文件从服务器下载到客户机器

问题: 假设有两个用户,他们在预定(或编程)服务器的文件夹中同时上传同名的不同文件。
 那么我该如何避免这种命名冲突呢?如何编程,哪个文件属于谁(客户端)。

可能sol'n :在将文件从客户端上传到服务器的过程中,为每个客户端创建一个文件夹,并将文件保存到新创建的文件夹中。

请注意,申请中没有任何数据库。请建议任何更好的

环境:java servlet Apache-tomcat 6.0 xhtml

2 个答案:

答案 0 :(得分:0)

使用HttpServletReqeust.getSession()方法获取客户端的唯一会话,然后使用HttpSession.getId()获取可在目录/文件名构造中使用的会话标识符。

答案 1 :(得分:-1)

create one folder for each client/user.

似乎对我来说是明显的解决方案。使用会话ID将导致创建更多目录。如果服务器保存的图像将在以后使用(我假设它们是,否则最重要的是保存它们)。拥有基于用户名(或类似名称)的目录结构,导航的痛苦程度远远低于其他任何目标结构。