0

我有一个 Spring RestController bean,我想添加一个接收以下结构的调用:

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

我尝试创建一个与此结构相对应的 DTO 对象,但我不知道如何在客户端创建相应的 JSON 消息(对我来说,它是一个有角度的 js 应用程序)

4

1 回答 1

2

您不能将文件放入 JSON 消息中。相反,您将不得不使用multipart/form-data以下问题中解释的内容类型:HTTP 文件上传如何工作?

要使用 AngularJS 进行这项工作,您可能需要一个模块:使用 AngularJS 上传文件

请注意,许多现代 UI 在后台上传文件并通过 AJAX + JSON 提交表单的其余部分。这意味着您在 Spring 中需要两个不同的控制器(或至少两个方法)和一个持久性存储,您可以在其中保留任何一个,直到另一个准备好。

举个例子,您需要将 JSON 保存在某处(文件、数据库),直到文件上传完成。那时,您必须从保存它的位置再次读取 JSON,并使用其余信息处理文件。

但是,如果用户需要很长时间来填写表格的其余部分,则文件可能首先准备好。因此,您还需要能够处理这种情况。

于 2015-06-04T08:05:41.643 回答