You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman调用SpringBoot文件上传接口报Current request is not a multipart request错误

问题原因

你的接口通过@RequestParam注解接收MultipartFile类型参数,要求请求必须是multipart/form-data格式。你在Postman中选择了binary类型传参,binary只会上传单一二进制文件流,没有multipart请求所需的表单参数结构和boundary分隔符,Spring无法解析为multipart请求,因此抛出异常。

解决方案

方案1:不调整接口代码,修改Postman调用方式

  • 请求方式选择POST,填入正确的接口地址/api/v1/uploadFile
  • 切换到Body标签页,选择form-data类型,不要选binary
  • 新增一条参数,key填写注解中定义的file,点击key输入框右侧的下拉选项,将默认的Text切换为File,然后在value列选择要上传的本地文件
  • 在Headers标签页添加Authorization请求头,填入你的令牌值即可,不要手动设置Content-Type,Postman会自动生成带boundary分隔符的multipart/form-data请求头

方案2:需要保留binary传参方式,调整接口代码

直接从请求流中读取二进制内容,不需要MultipartFile接收:

@PostMapping("/uploadFile")
public void uploadFile(HttpServletRequest request,
                        @RequestHeader(value = "Authorization") String authHeader) throws IOException {
    try (InputStream fileStream = request.getInputStream()) {
        // 调用文件工具类直接处理输入流,文件名可根据业务逻辑自行定义
        fileUtils.saveFile(fileStream, "自定义文件名");
    }
}
补充排查项

如果使用form-data调用依然报错,可检查项目配置是否开启了multipart支持(SpringBoot默认开启,若手动关闭需补充配置):

spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB # 可根据业务需求调整单文件大小上限
      max-request-size: 10MB # 可根据业务需求调整请求总大小上限

内容的提问来源于stack exchange,提问作者Nunyet Calçada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:27:00