【问题标题】:How to manage file up-loading when files have same name?当文件同名时如何管理文件上传?
【发布时间】:2012-10-02 00:50:36
【问题描述】:

我正在创建一个 Web 应用程序 Java EE 和 Jsp。我使用 apache fileupload 创建了一个文件上传程序。它运作良好。但我有一个现实世界的问题。

也就是说,假设让我们假设我网站的 2 个用户上传了一个与 Emp_docu.doc 同名的文件。但两者的内容不同。上传的文件保存在\uploads目录下。

现在我的问题是:

如果多个用户上传同名文件,是否所有同名文件都将被重写,并且只存在单个文件?比如上面说的emp_docu.doc文件夹中不会保存两个\uploads,只有一个emp_docu.doc存在,任何上传的用户都会丢失。

在不降低服务器性能的情况下有什么解决方案?

(即使我们可以重命名文件,是否可以在上传文件保存在服务器目录之前重命名文件\uploads)。

【问题讨论】:

    标签: jsp jakarta-ee file-upload


    【解决方案1】:

    如果目录相同,我总是在文件名前附加唯一 ID。

    例如。用户 id 12 的文件是12_Emp_docu.doc,用户 id 15 的文件是15_Emp_docu.doc

    【讨论】:

    • 好的。那么如果同一个用户两次上传同名文件(即在两个不同的日子)会发生什么。
    【解决方案2】:

    虽然我更喜欢上面的idea,但这也可能对你有用:

    如果您为每个用户创建一个上传文件夹,例如

    user1/uploads/Emp_docu.doc
    

    如果您在上传中为每个用户创建一个文件夹,例如

    uploads/user1/Emp_docu.doc
    

    【讨论】:

    • 好的。但是创建大量文件夹(考虑我的站点有 54,567 个用户!!然后将创建 54,567 个文件夹..)会降低 HDD 性能。是真的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 2015-07-31
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多