如何解决当前请求不是multipart请求的文件上传错误问题?

2026-05-25 04:541阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计534个文字,预计阅读时间需要3分钟。

如何解决当前请求不是multipart请求的文件上传错误问题?

原文链接:https://blog.csdn.net/u013168084/article/details/107911335

1. 问题现象:在文件上传接口中,当传入参数包含MultipartFile文件和其他类型参数时,前端调用时报错org.springframework.web。

简化内容:在文件上传接口中,若参数包含文件(MultipartFile)及其他类型数据,前端调用时可能出现错误org.springframework.web。

原文链接:blog.csdn.net/u013168084/article/details/107911335

1.问题现象

写在文件上传接口时,传入参数有MultipartFile文件和其他类型参数,如图所示。

结果前端调用时报错org.springframework.web.multipart.MultipartException: Current request is not a multipart request,并且发现orgId参数是会拼接到url中的,显然没有一起传入。

2.问题分析

显然从报错信息来说,是因为使用springboot制作excel表格上传时候报错,上传文件用的Content-Type应该是multipart/form-data,于是前端在接口content-type设置为application/json,上传文件接口测试去掉content-type属性或content-type设置为multipart/form-data。但是发现仍然报相同的错误。于是上网查了一下各种解决思路,比如把MultipartFile文件参数放在第一个,发现还是没有用。

3.解决办法

3.1 将文件和其他参数封装起来再传入

正在我百思不得其解的时候,发现orgId参数是会拼接到url中的,显然没有一起传入。于是考虑将两个不同格式的参数封装到实体类中传入。

import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

@Data
public class ImportUser {
private MultipartFile file;
private String orgId;
}
public ResponseBean ImportUsers(@RequestBody ImportUser importUser,HttpServletRequest request) throws Exception{

}
结果发现没有报错,问题解决了。

如何解决当前请求不是multipart请求的文件上传错误问题?

3.2 不指定传入参数格式

但如果我不想每次上传文件都通过传入实体类的方法,于是考虑不指定参数格式传入。那就不去掉前面注解试试看。

public ResponseBean ImportUsers(MultipartFile file,String orgId,HttpServletRequest request) throws Exception {

}
发现依然没有报错了,说明不加注解的方法也可以解决问题。

本文共计534个文字,预计阅读时间需要3分钟。

如何解决当前请求不是multipart请求的文件上传错误问题?

原文链接:https://blog.csdn.net/u013168084/article/details/107911335

1. 问题现象:在文件上传接口中,当传入参数包含MultipartFile文件和其他类型参数时,前端调用时报错org.springframework.web。

简化内容:在文件上传接口中,若参数包含文件(MultipartFile)及其他类型数据,前端调用时可能出现错误org.springframework.web。

原文链接:blog.csdn.net/u013168084/article/details/107911335

1.问题现象

写在文件上传接口时,传入参数有MultipartFile文件和其他类型参数,如图所示。

结果前端调用时报错org.springframework.web.multipart.MultipartException: Current request is not a multipart request,并且发现orgId参数是会拼接到url中的,显然没有一起传入。

2.问题分析

显然从报错信息来说,是因为使用springboot制作excel表格上传时候报错,上传文件用的Content-Type应该是multipart/form-data,于是前端在接口content-type设置为application/json,上传文件接口测试去掉content-type属性或content-type设置为multipart/form-data。但是发现仍然报相同的错误。于是上网查了一下各种解决思路,比如把MultipartFile文件参数放在第一个,发现还是没有用。

3.解决办法

3.1 将文件和其他参数封装起来再传入

正在我百思不得其解的时候,发现orgId参数是会拼接到url中的,显然没有一起传入。于是考虑将两个不同格式的参数封装到实体类中传入。

import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

@Data
public class ImportUser {
private MultipartFile file;
private String orgId;
}
public ResponseBean ImportUsers(@RequestBody ImportUser importUser,HttpServletRequest request) throws Exception{

}
结果发现没有报错,问题解决了。

如何解决当前请求不是multipart请求的文件上传错误问题?

3.2 不指定传入参数格式

但如果我不想每次上传文件都通过传入实体类的方法,于是考虑不指定参数格式传入。那就不去掉前面注解试试看。

public ResponseBean ImportUsers(MultipartFile file,String orgId,HttpServletRequest request) throws Exception {

}
发现依然没有报错了,说明不加注解的方法也可以解决问题。