SpringMVC+ajax上传文件+提交表单数据报错The current request is not a multipart request

AJAX

var commercialName=$("#commercialName").val()
var commerciaPhone=$("#commerciaPhone").val()
var commerciaSite=$("#commerciaSite").val()
console.log(commercialName)
 var file=document.getElementById('file').files
var formData=new FormData()
formData.append("file",file[0])

    $.ajax({"url":"/systemController/merchantController/contact",
        "encType": 'multipart/form-data',
        "processData": false,
        "contentType":false,
        "data":{"file":formData,"commercialName":commercialName,"commerciaPhone":commerciaPhone,
            "commerciaSite":commerciaSite},
        "type":"post",
        "dataType":"json",
        "success":...
JAVA
``` @RequestMapping(value = "contact" ,method = RequestMethod.POST)
    @ResponseBody
    public Dto contact( MultipartFile file,
                       DbBusinessInformation businessInformation,
                       HttpServletRequest request)
也找了很多方法,还是没办法解决

一般上传文件是走单独接口的,先掉上传文件接口,然后返回文件路径,然后再把文件路径名称放进form表单一起提交。望采纳

你看看 是不是springmvc没有配置dispatcher.xml文件没有配置

 <!-- 文件上传处理器  -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="20480000"/> 
    </bean>

看看js和你html是否能先进入后台的controller

你可以用表单去进行文件的上传

ajax请求时不要设置Content-Type,不需要写这一项属性