2010-12-21 44 views
0

我遇到了cffileupload標記的問題,然後插入上傳到數據庫的文件的名稱。似乎沒有從CF行動頁面返回的鉤子,它會說如果它是成功的,如果文件被重命名,新文件名是什麼,並且<cffileupload>和數據庫插入的文件名稱

基本上,我想要一個用戶能夠上傳多個文件(最多10個),不超時並將文件的名稱存儲在數據庫中。

歡迎任何建議!我在interweb上挖了一遍,似乎沒有任何優雅的解決方案。

+0

只是說明:沒有超時非常困難。大多數瀏覽器和網絡服務器在CF使用的上面都有自己的超時時間。不過,您可以爲web服務器和CF設置較長的超時時間。 – 2010-12-22 14:19:28

回答

1

在文件由<處理後,cffile action =「upload」>,通過「result」中指定的變量提供了大量信息。這包括原始文件名,文件大小和成功指標。 Adobe's docs on cffile有詳細信息。最好的辦法是創建一個臨時文件,通過cffile將上傳推送到那裏,評估成功或失敗,然後將其推入數據庫。喜歡的東西:

<cfset TemporaryFile = GetTempFile(GetTempDirectory(), "myAppTemp") /> 
<cffile action="upload" destination="#TemporaryFile#" 
     fileField="filefield" result="FileResults" /> 

然後你就可以通過TemporaryFile變量來訪問您的文件,並通過FileResults.clientFile文件名。 FileResults.fileWasSaved應指示上載成功或失敗並隨後保存到磁盤。

相關問題