zoukankan      html  css  js  c++  java
  • jquery-ajax实现文件上传异常处理web.multipart.MultipartException

    异常如下:

    org.springframework.web.multipart.MultipartException: The current request is not a multipart request

    原因分析:

    可能原因1:

    form表单中没有添加 enctype="multipart/form-data" 属性

    可能原因2:

    请求方式必须为post,如果不是则必定出错

    可能原因3:

    请求的contentType不是"multipart/form-data" 【可以在控制层使用request.getContentType()测试查看】

    那么分析一下springmvc中如对request请求类型进行判断:

    当spring对请求进行处理的时候首先判断请求是否是文件上传请求,如果controller曾匹配的参数类型为MultipartFile

    并且请求不是文件上传请求,这时候就会抛出上面的那个一场,而spring判断请求类型的依据就是ContentType

    所以解决方案就显而易见了,我这里使用的是jquery-ajax请求,代码如下:

     1 $.ajax({
     2             type: form.method || 'POST',
     3             url:$form.attr("action"),
     4             data:$form.serializeArray(),
     5             contentType: "multipart/form-data",
     6             dataType:"json",
     7             cache: false,
     8             success: alter("success"),
     9             error: alert("error")
    10         });

    想想看为了处理这个问题也花了一天的时间,本人谨奉上如上心得,如有问题,希望留言探讨!

  • 相关阅读:
    ural 1080 Map Coloring DFS染色
    hdu 4287 Intelligent IME
    hdu 4268 Alice and Bob 区域赛 1002 (STL、SBT实现)
    SBT专题训练
    hdu 4276 The Ghost Blows Light 区域网络赛 1010 树上背包+spfa
    hdu 4278 Faulty Odometer
    hdu 4279 Number
    VIM 插件(转)
    Linux环境变量的设置(转)
    福昕PDF阅读器 v3.3 破解
  • 原文地址:https://www.cnblogs.com/sunshinekevin/p/7236478.html
Copyright © 2011-2022 走看看