2011-11-06 50 views
0

我正在使用CakePHP編寫一個Web應用程序。現在,保存失敗後,蛋糕被重定向回添加或編輯屏幕,插入的數據將返回到表單字段供用戶編輯。這正是我想要的,問題是文件上傳字段沒有保存。當用戶選擇要上傳的圖像時,是否有辦法保留文件輸入表單域的路徑?重定向時保留表單輸入的文件路徑?

感謝

回答

2

現代瀏覽器會混淆文件輸入的值以隱藏有關客戶端文件系統的信息。這包括通過javascript訪問輸入值,其中瀏覽器將返回類似C:\fakepath\file.txt的內容。

通常不允許設置文件輸入的值,通過在HTML中設置value屬性或通過javascript設置。因此,即使您可以以某種方式查明它是什麼,您也無法恢復輸入字段的先前值。嘗試爲自己在這裏:

http://jsfiddle.net/MP39Q/2/

(有一些例外,其中的一些限制,如早期版本的IE瀏覽器,但我想這並不能幫助你。)

由於用戶作爲表單數據的一部分,路徑不發送it will not be available in PHP

你的情況的解決方案可能是將上傳的文件保存在服務器上。當發生保存錯誤時,將臨時文件的適當引用傳遞迴表單(例如通過會話數據),並允許用戶選擇是保留原始文件,還是選擇新文件以在上傳時修正其他部分的形式。

0

可以,但我不認爲這是一個好主意:如果用戶沒有響應了一些時間和會話超時,該文件可能會被刪除。您應該以單獨的形式(在單獨的頁面上)創建上傳文件,或者手動管理您自己的上傳過程。

相關問題