【问题标题】:Current request is not a multipart request | Ajax | Spring Boot | Multipart | JQuery当前请求不是多部分请求 |阿贾克斯 |弹簧靴 |多部分 | jQuery
【发布时间】:2021-03-05 08:19:28
【问题描述】:

org.springframework.web.multipart.MultipartException: 当前请求不是多部分请求

HTML 包含大约 50 或 60 个元素,包括单选框、复选框、文本区域、文本框以及多种文件类型:

Upload File: <input id="partfiles" name="partfiles[]" type="file" class="file" multiple data-show-upload="true" data-show-caption="true">
                                
 SomeLabel: <form:input type="number" path="operationValue" class="form-control" placeholder="operationValue"></form:input>
                                    

jQuery:

dataType : 'text',
url : "/createpo",
enctype : 'multipart/form-data',
data : $("body form:first").serialize(),

Spring 引导代码:

@PostMapping("/createpo")
public String createPO(@ModelAttribute("purchaseOrderForm") PurchaseOrderForm purchaseOrderForm, BindingResult bindingResult, Model model, @RequestParam("partfiles") MultipartFile[] files) 
{
  System.out.println(purchaseOrderForm);
  System.out.println("Length:" + files.length);

purchaseOrderForm 模型属性中没有多部分。

当我请求时,我得到以下内容类型:

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

我尝试改变上面给出的编码类型,但没有效果。

【问题讨论】:

    标签: jquery ajax spring-boot multipartform-data multipart


    【解决方案1】:

    使用以下方法修复:

        var fromData  = new FormData($("#body form:first")[0]);
        documentCommon.ajax({
            dataType : 'text',
            url : "/createpo",
            contentType : false,
            processData: false,
            data: fromData,
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 2020-10-22
      • 2021-11-16
      • 2012-08-12
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      相关资源
      最近更新 更多