Postman - 不存在所需的MultipartFile参数 - Spring,Java

Ari*_*Gro 2 java spring tomcat multipartform-data postman

编辑

这个问题不同于:jQuery Ajax文件上传:必需的MultipartFile参数'file'不存在 不同之处在于他们使用jQuery和Ajax,而我使用REST客户端 - 'Postman'

因此,我不必将Content-Type设置为false,而是完全删除它.

此外,在搜索关于"邮递员"的答案时,我相信人们会跳过其中包含jQuery和Ajax字样的问题,这就是我发生的事情

结束编辑

我在Java8上使用Spring MVC Web应用程序并在tomcat7.x上运行它.Spring版本是:4.2.6.RELEASE和javax servlet版本是:3.0.1

的context.xml

...

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- max upload size in bytes -->
    <property name="maxUploadSize" value="5242880" /> <!-- 5MB -->

    <!-- max size of file in memory (in bytes) -->
    <property name="maxInMemorySize" value="1048576" /> <!-- 1MB -->

</bean>

...
Run Code Online (Sandbox Code Playgroud)

controller.java

...
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@ResponseStatus(value = HttpStatus.CREATED)
public void importTranslations(@RequestParam (name = "myfile") MultipartFile myfile) {
    myService.doSomething(myfile);
}
...
Run Code Online (Sandbox Code Playgroud)

这是问题所在

我使用Postman发送*.zip文件.路径是正确的,一切看起来都不错,但是spring会抛出异常:"所需的MultipartFile参数'myfile'不存在"

这是Postman的截图: 在此输入图像描述 所以文件在那里,密钥名称是正确的.一切似乎都没问题,然而,我得到了错误

Ari*_*Gro 7

在stackoverflow中进行了大量搜索后,我发现了这个问题:jQuery Ajax文件上传:必需的MultipartFile参数'file'不存在

我尝试将Postman中的Content-Type标头设置为false并出错.当我删除Content-Type标题时,它工作了!!

希望这有助于某人