2012-08-25 39 views
0

我正在努力處理以下cffile代碼。我試圖通過一個動態生成的圖像目錄,其名稱存儲在一個會話變量(每個新成員一個)。我需要這個名字傳遞給CFFILE標籤的目標屬性:將動態生成的目錄名稱傳遞給cffile標籤的目標屬性

我的繼承人用於處理文件上傳代碼

<cfset mypath=expandpath('UserImages/UploadedImages/' & '#session.details.uimages#')> 
<cffile action="upload" destination="#mypath#" nameconflict="makeunique"/> 

上傳工作正常,如果我替換#session.details.uimages#一個實際的目錄名稱。是,我想要做什麼,可以實現或者這是不可能的?

任何幫助,或指導將受到歡迎,因爲我正在撕裂我的頭髮!

謝謝大家提前!

+0

這應該可以正常工作。轉儲我的路徑並確保其位置正確。 – Paul

回答

6

如果該目錄不存在,則需要先創建它。

如果uimages來自用戶,請不要忘記首先驗證它是否是有效的目錄名稱(具體而言,它不包含路徑遍歷語法,即..)。

此外,您的cffile缺少filefield屬性,這是必需的。

注意,會話變量周圍缺少散列 - 它們是不必要的。

<cfset MyPath = expandPath('UserImages/UploadedImages/' & session.details.uimages) /> 

<cfif NOT DirectoryExists(MyPath)> 
    <cfset DirectoryCreate(MyPath) /> 
</cfif> 

<cffile 
    action  = "upload" 
    destination = "#MyPath#" 
    nameconflict = "makeunique" 
    filefield = "name_of_field_to_upload_from" 
/> 
+0

謝謝你的回覆Peter。上面的代碼已經實現。它仍然不起作用。我一直在關注Ramond Camden的博客http://www.raymondcamden.com/index.cfm/2009/11/11/Important-notes-about-ColdFusion-9s-new-multi-file-uploader – Paresh

+0

「它仍然沒有'沒有工作'是沒有意義的 - 什麼不工作和_how_?即什麼是錯誤信息或意外結果? (另外,當你正在關注一篇博客文章時,請在原始問題中說明你正在使用的CF版本。) –

+0

Ray在這裏有一個更新/完整的教程:http:// www。 raymondcamden.com/index.cfm/2010/3/5/ColdFusion-9-Multifile-Uploader--Complete-Example –

相關問題