【问题标题】:Upload multiple files with metadata in one POST request在一个 POST 请求中上传多个带有元数据的文件
【发布时间】:2018-04-04 20:06:52
【问题描述】:

我想在一个 POST 请求中上传多个带有相关元数据的文件。 这是我的 POJO:

@Getter
@Setter
@NoArgsConstructor
public class Attachment {
  private MultipartFile file;
  private String name;
  private String description;
}

我尝试通过 Postman 使用 formdata(即 multipart/form-data)上传文件,但它会引发异常,提示找不到参数附件。 我也试过@ModelAttribute,但它获取了一个空白列表。当我尝试使用@RequestPart 时,它抛出了这个错误:"Required request part 'attachments' is not present"

这是我的控制器方法:

@RequestMapping(value = "attachments", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    @ResponseBody
    public void addAttachment(@RequestPart List<Attachment> attachments) {
       // do something
    }

我们可以通过发送带有 base64 编码文件的原始 json 来做到这一点,但我想知道如何使用 multipart.我在 StackOverflow 上关注了很多问题,但没有一个解决方案有效。

谢谢:)

【问题讨论】:

    标签: spring spring-mvc spring-boot multipartform-data


    【解决方案1】:

    @Lakshmikant Deshpande

    很遗憾,目前无法在一个请求中上传多个带参数的文件。 详情请参考源码'RequestPartMethodArgumentResolver.resolveArgument()'。

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 2013-03-30
      • 2015-03-17
      相关资源
      最近更新 更多