【问题标题】:Ajax spring mvc csv file upload error Required request part 'file' is not presentAjax spring mvc csv文件上传错误所需的请求部分'文件'不存在
【发布时间】:2017-10-19 16:55:13
【问题描述】:

当我尝试通过 Ajax 将 csv 文件上传到 spring 控制器时,我得到了错误 HTTP Status 400 - Required request part 'file' is not present

我的ajax代码是

<script type="text/javascript">

  var form = $('#correctAnswerData');
  form.on('submit', function(e) {

    e.preventDefault();
    var formData = new FormData();
    formData.append('file', $('input[type=file]')[0].files[0]);
    console.log("form data " + formData);
    $.ajax({
      url: 'answerdatacheck',
      data: formData,
      processData: false,
      contentType: false,
      type: 'PUT',
      success: function(data) {
        alert(data);
      },
      error: function() {
        $('#errorMsg').html("An error occurred.");
      }
    });
  }
  );
</script>

我的控制器代码是

 @RequestMapping(value = "/answerdatacheck", method = RequestMethod.PUT)  
  public String regiscorrectAnswerData(Model model, @RequestParam("file") MultipartFile file) {

    if (file.isEmpty()) { 
      model.addAttribute("alertStatus", 1);
      model.addAttribute("alertMessage", "File is empty");
      return "jsonView";
    }
    model.addAttribute("alertStatus", 2);   
    return "jsonView";
  }

实际上我将 bean 包含在 application-context.xml 中的原因是什么

<bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- max upload size in bytes -->
    <property name="maxUploadSize" value="20971520" /> <!-- 20MB -->

    <!-- max size of file in memory (in bytes) -->
    <property name="maxInMemorySize" value="1048576" /> <!-- 1MB -->

</bean>

我是不是错过了什么。

【问题讨论】:

  • 尝试通过 POST 更改 PUT 并检查是否有效
  • 尝试将enctype: 'multipart/form-data'添加到ajax选项

标签: ajax spring csv spring-mvc file-upload


【解决方案1】:

只是接受文件的错误 我刚换了

 formData.append('file', $('input[type=file]')[0].files[0]);

 formData.append('file', $('#file1')[0].files[0]);

它已经修复了

【讨论】:

    猜你喜欢
    • 2017-10-11
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 2017-04-06
    • 2019-09-08
    相关资源
    最近更新 更多