weixin_45138850
2019-09-24 10:52
采纳率: 44.4%
浏览 4.5k

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)
也找了很多方法,还是没办法解决
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 杨园亮 2019-09-24 11:05
    已采纳

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

    点赞 评论
  • _鹿慕溪水 2019-09-24 10:58

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

    点赞 评论
  • weixin_43993558 2019-09-24 11:04

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

     <!-- 文件上传处理器  -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="20480000"/> 
        </bean>
    
    点赞 评论
  • Ocean Man * 2019-09-24 16:02

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

    点赞 评论
  • zea_liu 2019-09-24 16:09

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

    点赞 评论

相关推荐 更多相似问题