2012-09-30 303 views
1

我正在創建一個Web應用程序Java EE和Jsp。我已經使用apache fileupload創建了一個文件上傳程序。 IT運作良好。但我有一個現實世界的問題。如何在文件名稱相同時管理文件上傳?

也就是說,假設讓我們想象2個用戶我的網站上載有相同名稱的文件爲Emp_docu.doc。但兩者都有不同的內容。上傳的文件保存在\uploads目錄中。

現在我的問題是:

如果多個用戶上傳同名文件,是具有相同名稱的所有文件都將rewrited和只存在單一的文件嗎?例如,在上述說明中,兩個emp_docu.doc都不會保存在文件夾\uploads中,只有一個emp_docu.doc存在,並且上傳的任何一個用戶都將丟失。

什麼是不降低服務器性能爲它的解決方案嗎?

(儘管我們可以重命名文件,是否有可能重命名上傳的文件之前,保存在服務器目錄\uploads)。

回答

0

我總是追加唯一ID的文件名之前,如果該目錄是一樣的。

對於如。對於用戶標識12,該文件將是12_Emp_docu.doc,並且用戶標識15該文件將是15_Emp_docu.doc

+0

ok。那麼如果同一用戶兩次上傳同名文件(即在兩個不同的日期),會發生什麼情況。 –

0

,而我喜歡上面的idea好了很多,這也可能爲你工作:

如果你所創建的上傳文件夾的每個用戶如

user1/uploads/Emp_docu.doc 

OR

什麼如果您爲上傳的每個用戶創建了一個文件夾,例如

uploads/user1/Emp_docu.doc 
+0

好的。但創建大量的文件夾(考慮我的網站有54,567用戶!!然後54,567文件夾將創建..)會降低硬盤性能。這是真的? –