2012-09-27 29 views
0

我是Spring和JSP的新手。我的Web應用程序是由Spring支持的,我在Apache Tomcat中本地運行。Spring web mvc 3.0表單數據和圖片上傳問題

在我的JSP頁面中,我有多個文件上傳輸入和許多文本輸入字段。

每當我按下任何上傳按鈕時,HTTP POST請求會從我的控制器上傳到我的控制器,從那裏我可以將圖像保存到數據庫。

但是,我要的是:

我會上傳的圖片中逐個(最好留在頁),但不會將它們保存在數據庫中,然後當我按下提交獲得的休息輸入的文本字段數據,我一次嘗試將所有數據(包括圖像,文本)提交到數據庫。

我聽說我的控制器(bean)在dispatcher-servlet.xml中有scope="session" ......但我不確定是否將圖像上傳到我的控制器並返回到我的JSP表單,bean是否保留我已上傳的圖片?

我覺得我很難解釋,所以請讓我知道如果我的問題不清楚。

如果有人能提出一個可能有助於實現我的目標的建議,那將是非常好的。

回答

0

您是否正在上傳不同數量的圖片,比如有人只想上傳2張圖片,他們會在表格中顯示2個文件字段,或者每個人都獲得5個字段?

說實話,在這個階段,增量上傳的整個方案聽起來有點過於複雜。 (除非您明確需要在每次上傳時顯示進度條等)如果用戶在上傳第一張圖像後放棄了該表單,該怎麼辦?你需要一個非常可靠的機制來跟蹤整個訪問,保持會話在這裏沒有幫助。用戶可以拿起他們離開的地方嗎?如果您使用單一表單提交單擊工作,則可以將其分解出來,稍後再調整該過程。我提到,既然你聲明你是jsp和Spring的新手(否則你對web dev有什麼經驗?)

0

我認爲最好的方法是使用ajax控件上傳文件,而不是爲每次上傳提交表單並將文件引用存儲在會話範圍變量(屬性)中。有很多庫有基於ajax的文件上傳,如extJS,JQuery,GWT,DWR,無論您在Web應用程序中使用哪個Ajax庫。