2013-03-04 38 views
3

我目前正在嘗試創建一個頁面,樂隊可以將自己的徽標上傳到網站,以便在需要時使用。目前,我已經創建了一些內容,允許用戶將徽標上傳/刪除到分配的目錄。但是我想要做的不是創建一個band_logo字段,而是將帶標誌文件名稱變成數據庫中的band標識。這是獨一無二的,這意味着我沒有創建一個字段來保存他們的徽標名稱的漫長過程。我知道有一個cffile action="rename"選項,但這是一個更長時間的做事過程。使用cffile上傳文件名可以更改嗎?

回答

6

是的,如果您在destination中提供文件名,它將在上載時重命名該文件。

<cffile action="upload" destination="/path/to/some/directory/#session.bandName#.jpg" ... /> 

Renaming Files As They Are Uploaded (how CFFILE actually works)

BTW,爲 「name file on cffile upload」 發現,文章谷歌搜索...

但是,你仍然可能要使用

<cffile action = "upload" ...> 
then 
<cffile action = "rename" ...> 

因爲除非你抽絲客戶端上的文件擴展名並將其傳遞到服務器,如果文件擴展名沒有上傳.jpg或您指定的任何擴展名。這不是太多的代碼或開銷,它更安全。

0
<cfif #ServerFileExt# EQ 'jpg'> 
<cffile action="upload" destination="/path/to/some/directory/#session.bandName#.jpg" /> 

<cffile action="rename" 
source="path/to/some/directory/#session.bandName#.jpg" 
destination="path/to/some/directory/#getData.bandsID#.jpg"> 

<cfelse> 

    <cflocation addtoken="no" url="back to form upload page"> 

</cfif>