0

Spring RestController Bean があり、次の構造を受け取る呼び出しを追加したいと思います。

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

この構造に対応する DTO オブジェクトを作成しようとしましたが、クライアント側で対応する JSON メッセージを作成する方法がわかりませんでした (私にとっては角度のある js アプリケーションです)。

4

1 に答える 1

2

ファイルを JSON メッセージに入れることはできません。multipart/form-data代わりに、次の質問で説明されているように、コンテンツ タイプを使用する必要があります: How does HTTP file upload work?

これを AngularJS で機能させるには、おそらく次のモジュールが必要です: AngularJS を使用したファイルのアップロード

多くの最新の UI はバックグラウンドでファイルをアップロードし、AJAX + JSON 経由でフォームの残りを送信することに注意してください。つまり、Spring には 2 つの異なるコントローラー (または少なくとも 2 つのメソッド) と、もう一方の準備が整うまでどちらか一方を保持できる永続ストアが必要です。

例を挙げると、ファイルのアップロードが完了するまで、JSON をどこか (ファイル、データベース) に保存する必要があります。その時点で、保存した場所から JSON を再度読み取り、残りの情報を使用してファイルを処理する必要があります。

ただし、ユーザーがフォームの残りの部分を入力するのに時間がかかる場合は、最初にファイルの準備ができている可能性があります。したがって、このケースも処理できる必要があります。

于 2015-06-04T08:05:41.643 に答える