2012-10-12 26 views

回答

1

你只是詢問如何生成一個隨機字符串?最快的方法是使用createUUID()。這使得一個很長的(35我認爲)字符隨機字符串。您也可以使用randRand來動態選取隨機字母。

+0

贊成用戶添加附件的冠軍,但我想改變它到隨機字符串,但是當用戶再次查看文檔時,他們將看到他們輸入的名稱而不是隨機字符串。 – user1555446

+0

這部分啊(他們看到原文)看到Brian的下面。 :)以爲你有這個,但只需要隨機部分。 –

+4

我想添加一個更重要的筆記。你說爲了「安全原因」你需要一個隨機字符串。這似乎意味着你在web根目錄下存儲附件。別。認真。這是一個非常糟糕的主意。即使您在上傳時重命名文件,具有負載測試工具的人也可以在上傳和重命名之間以毫秒爲單位執行代碼。我知道是因爲我的一個應用程序被黑客攻擊了。您的上傳應始終轉到非網頁可訪問的文件夾。期。 –

0

在服務器端,你將需要存儲這兩個文件的原始名稱,並在數據庫中的文件名隨機字符串版本。如果不存儲原始版本的文件名,則不知道文件名的原始版本。或者,如果您的文件有一個通用的命名方案(即顯示給客戶的所有文件名都是「nameOfCustomer-coupon.pdf」),則原始文件名無關緊要,並且不需要存儲。

當請求該文件提出,將使用內容處置HTTP標頭,以顯示原來的文件名:

Content-Disposition: attachment; filename=<file name.ext> 

<cfheader name="Content-Disposition" value="filename=someFileName.someExtension">