2011-02-23 67 views
0

我正在編寫一個Web應用程序,用戶可以在其中上傳圖像。我想知道爲圖像分配唯一名稱的最佳做法是什麼?我認爲MD5可以變得有用和足夠,但由於每個圖像都有一個所有者,我必須使用MD5嗎?我的意思是它可以重新命名爲Userid + imagename + creationdate?如何爲圖像分配唯一名稱?

回答

3

您的數據庫爲您提供了每條記錄的唯一ID。雖然有許多不同的方法可以做你想做的事,但通常最好使用這個ID作爲圖像名稱的前綴/後綴。因此,對於這些記錄:

ID | name 
15 image.png 
23 image.png 

你可以顯示類似:15_image.png23_image.png

+0

你要問它。 –

+0

@Aleksi:你插入一次,所以詢問它並不是什麼大問題(如果你想這樣保存),並且當你搜索時,最好是用ID搜索。 – Eelvex

+1

我同意這不是什麼大不了的事,但是當你考慮到技術水平最低的用戶時,告訴他們ID剛剛彈出是有點誤導。你必須爲它設計並創建一個序列或一個自動增量聲明,這取決於DBMS是否在使用中,也就是說你不得不要求它,因爲它沒有給出。 –

0

不,這是不夠的,因爲用戶可能想要上傳具有相同名稱的多個圖像。

最簡單的解決方案是使用帶圖像名稱的序列號。你可以確定沒有其他圖像具有相同的名稱,並且永遠不會有一個。使用散列函數,碰撞的機率總是非常小。