2015-06-04 35 views
0

我有一個春天RestController豆,我想補充一點,臨危以下結構的呼叫上傳多發的文件:如何使用Spring RestController

- File file1 
- Integer integer2 
- Map<CustomClass,File> remainingFilesmapping 

我試圖創建一個對應於該結構的DTO對象,但我無法弄清楚如何在客戶端創建相應的JSON消息(對我來說它是一個角度js應用程序)

+0

這個鏈接的工作,雖然你可以嘗試其他機制https://github.com/murygin/rest-document-archive – pmverma

回答

2

您不能將文件放入JSON消息中。相反,你將不得不使用的內容類型multipart/form-data在這個問題解釋說:How does HTTP file upload work?

爲了與AngularJS這項工作,你可能需要一個模塊:File Upload using AngularJS

注意,許多現代的UI上傳文件中的背景並通過AJAX + JSON提交表單的其餘部分。這意味着你需要在Spring中有兩個不同的控制器(或者至少兩個方法)和一個持久性存儲器,在這個存儲器中你可以保留其中一個,直到另一個準備好。

舉個例子,您需要將JSON保存到某處(文件,數據庫),直到文件上傳完成。那時,您必須從保存的位置再次讀取JSON,並使用其餘信息處理文件。

但是,如果用戶花費很長時間填寫表單的其餘部分,則可能首先準備好文件。所以你也需要能夠處理這種情況。

+0

好吧,謝謝,至少現在我知道這是不可能的,並會嘗試做到這一點與小步驟(如你解釋) – mteffaha

相關問題