2011-02-15 108 views
5

我正在使用cffile標記上傳我的文件並使用新名稱重新保存。我的問題是該文件可能是幾種不同的格式,我不知道如何檢測文件擴展名。我使用下面的代碼:如何在使用cffile重命名文件時獲取文件擴展名

<cfset ui = createUUID()> 
<cffile 
    action="upload" 
    accept="video/x-flv, video/mp4, video/x-msvideo" 
    destination="e:\www2\uploads\#ui#.#cffile.ServerFileExt#" 
    nameconflict="makeunique" 
    filefield="form.file" 
> 

它告訴我,cffile是未定義的。

+0

「CFFILE」變量只有在上傳之後纔會填充。正如scrittler所說,先上傳,然後重命名。 – Leigh 2011-02-15 22:20:05

回答

12

我建議您上傳,然後再重命名:

<cfset ui = createUUID()> 
<cffile 
    action="upload" 
    accept="video/x-flv, video/mp4, video/x-msvideo" 
    destination="e:\www2\uploads\" 
    nameconflict="makeunique" 
    filefield="form.file" 
/> 
<cffile 
    action="rename" 
    source="e:\www2\uploads\#cffile.serverFileName#" 
    destination="e:\www2\uploads\#ui#.#cffile.serverFileExt#" 
/> 
+0

謝謝你的工作。 – 2011-02-15 22:33:01

0

我發現創造了這個真棒功能由Ryan Stille

應該做的一切你需要

我用它來得到擴展,然後我剛剛創建了一個帶有UUID的文件名

<cffile action="upload" destination="file://upload_#createUUID()#.#fileExt#" nameconflict="makeunique" result="#formField#"> 
相關問題