【问题标题】:Spring rest controller's " MultipartFile[] multipartFiles" always recieves [ ] or null filesSpring rest 控制器“MultipartFile[] multipartFile”总是接收 [] 或 null 文件
【发布时间】:2016-11-03 07:25:42
【问题描述】:

我正在使用带有 Java Config 的 Spring 4。我希望将多个文件上传到服务器,但问题是我的 MultipartFile[ ] 参数将始终收到 empty/[ ] 参数。让我在这里分享我的代码是我的“AppConfig”

@Bean(name = "multipartResolver")
public CommonsMultipartResolver multipartResolver(){
    CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
    commonsMultipartResolver.setDefaultEncoding("utf-8");
    commonsMultipartResolver.setMaxUploadSize(50000000);
    return commonsMultipartResolver;
}

所以我注册了我的 multipartResolver,然后我写了这个控制器,它除了接收文件什么都不做。

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public List<PutObjectResult> upload(@RequestParam("file") MultipartFile[] multipartFiles) {

    System.out.println("Multipart file length is  "+multipartFiles.length);
    return s3Wrapper.upload(multipartFiles);
}

无论我从客户端发送多少图像/文件,我的 MultipartFile[] multipartFiles 始终为空/[]。我正在使用“PostMan”在这里发送我的文件是从“postMan”向多部分控制器发送请求的屏幕截图

【问题讨论】:

    标签: java spring spring-security multipart spring-restcontroller


    【解决方案1】:

    你配置org.springframework.web.multipart.support.MultipartFilter了吗?

    如果没有看到这个 SO post

    【讨论】:

    • 不,它会自动使用“public CommonsMultipartResolver multipartResolver()”方法进行配置。因为这是java config所以我们不需要xml。除此之外,我已经找到了我正在更新我的答案的解决方案,如果您发现这个问题,请使用完整的投票,以便将来其他人也可以获得帮助。谢谢
    【解决方案2】:

    我只是通过在 jsp 中放置一个表单并使用表单提交测试我的方法解决了这个问题。我也使用 HttpClient 来发送请求并且它有效。我无法理解为什么,但不知何故,问题出在“PostMan”工具上,我通过该工具敲击了我的休息控制器。

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 2019-05-03
      • 1970-01-01
      • 2022-12-29
      • 1970-01-01
      • 2019-05-07
      • 2021-05-29
      • 1970-01-01
      • 2020-11-09
      相关资源
      最近更新 更多