当前位置: 首页 > 知识库问答 >
问题:

MultipartException:当前请求不是多部分请求

蒙华翰
2023-03-14

我试图使一个宁静的控制器上传文件。我看到了这一点,做了这个控制器:

@RestController
public class MaterialController {

    @RequestMapping(value="/upload", method= RequestMethod.POST)
    public String handleFileUpload(
            @RequestParam("file") MultipartFile file){
        String name = "test11";
        if (!file.isEmpty()) {
            try {
                byte[] bytes = file.getBytes();
                BufferedOutputStream stream =
                        new BufferedOutputStream(new FileOutputStream(new File(name + "-uploaded")));
                stream.write(bytes);
                stream.close();
                return "You successfully uploaded " + name + " into " + name + "-uploaded !";
            } catch (Exception e) {
                return "You failed to upload " + name + " => " + e.getMessage();
            }
        } else {
            return "You failed to upload " + name + " because the file was empty.";
        }
    }
}

然后我用邮递员发送了一份pdf:

但服务器崩溃,出现以下错误:

.MultipartException: Current request is not a multipart request

我再次找到了这个,并添加了一个bean。xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    </bean>
</beans>

不幸的是,它仍然抱怨同样的错误。

共有3个答案

伏欣悦
2023-03-14

我也面临着PostmanMultipart的相同问题。我通过以下步骤修复了它:

  • 不要在Headers部分中选择Content-Type
  • Postmanbody选项卡中,您应该选择form-data并选择file type

它对我有用。

严升
2023-03-14

问题似乎是对服务器的请求不是多部分请求。基本上,您需要修改客户端表单。例如:

<form action="..." method="post" enctype="multipart/form-data">
  <input type="file" name="file" />
</form>

希望这有帮助。

田玉韵
2023-03-14

当您对多部分请求使用邮递员时,请不要在标头中指定自定义内容类型。所以邮递员中的标题选项卡应该是空的。邮递员将确定表单数据边界。在邮递员的正文选项卡中,您应该选择表单数据并选择文件类型。您可以在以下网址找到相关讨论:https://github.com/postmanlabs/postman-app-support/issues/576

 类似资料:
  • 问题内容: 我试图使一个宁静的控制器来上传文件。我已经看到 了,并做了这个控制器: and then i used postman to send a pdf: But the server crashes with the error: 我再次找到了这个,并添加了一个bean.xml文件 不幸的是,它仍然抱怨相同的错误。 问题答案: 当您将邮递员用于多部分请求时,请不要 在页眉中指定自定义Con

  • 我在使用Angular 9 with Spring Boot来实现一个简单的应用程序时遇到了一个问题,该应用程序可以在相同的请求中从UI上传文件和数据。在我用基本身份验证实现安全性之前,一切都很正常。现在,在我登录并想要上载数据后,出现以下错误: <代码>组织。springframework。网状物多部分。MultipartException:当前请求不是多部分请求 标题设置为内容类型:“mult

  • Spring3.1。1.发布 我想上传两个文件的html格式,但我总是得到一个多部分请求异常。我在谷歌上搜索了很多,但没有找到正确的解决方案。 我的控制器: 我的. jsp页面: spring-serverlet.xml

  • 我正在尝试用angularjs上传文件,但有一个问题是“当前请求不是多部分请求”,我几乎尝试了谷歌的所有解决方案,但都没有解决我的问题,希望有人能回答我的问题,谢谢。 这是我的springMVC配置 这是角控制器 这是角服务 这是上传控制器 表单数据 -----WebKitFormBoundaryRZP8MUHA8LCBDZDN 内容-处置:表单-数据;name=“文件”;filename=“1.

  • 我有一个场景,在执行GET请求时,在从命令行调用jetty服务器时(mvn jetty:run),不返回JSON对象。有趣的是,当我使用Eclipse中安装的“Run Jetty Run”功能时,会返回JSON对象。 我在后端使用Spring rest控制器,带有以下注释: @RequestMapping(value=“/Customer”,method=RequestMethod.GET,hea

  • 我正在开发一个Spring API,我有一个接收MultipartFile作为参数的endpoint,但在正式生产环境中,我在某些情况下会收到以下错误: 组织。springframework。网状物util。NestedServletException:请求处理失败;嵌套异常为org。springframework。网状物多部分。MultipartException:无法解析多部分servlet请