Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript post错误要求多部分文件[]参数不存在_Javascript_Java_Arrays_Ajax_Jquery File Upload - Fatal编程技术网

Javascript post错误要求多部分文件[]参数不存在

Javascript post错误要求多部分文件[]参数不存在,javascript,java,arrays,ajax,jquery-file-upload,Javascript,Java,Arrays,Ajax,Jquery File Upload,有人知道我为什么会出现上述错误吗?我不明白为什么?请参阅下面我的代码,并建议在哪里可以修复此错误。目的是将多个文件上载到一个位置。它过去只适用于单个文件,但是看起来formdata或ajax请求只用于接受一个文件,而不是多个文件。我不是用PHP做这件事的,只是用javascript/java。请帮忙 function makeProgress(number){ var url = getRelativeURL("web/fileUpload");

有人知道我为什么会出现上述错误吗?我不明白为什么?请参阅下面我的代码,并建议在哪里可以修复此错误。目的是将多个文件上载到一个位置。它过去只适用于单个文件,但是看起来formdata或ajax请求只用于接受一个文件,而不是多个文件。我不是用PHP做这件事的,只是用javascript/java。请帮忙

    function makeProgress(number){   
      var url = getRelativeURL("web/fileUpload");        
      var formData = new FormData();
      formData.append('number', number);
      fls = document.getElementById("attachmentFileUploadInput").files; //length of files... 
      console.log(fls);
      for(j=0;j<fls.length;j++){
          formData.append('files[]', fls[j]);  //note files[] not files
      }
      //formData.append('file', $('input[type=file]')[0].files[0]);
      console.log("form data " + formData);
      $.ajax({
          url : url,
          data : formData,
          processData : false,
          contentType : false,
          type : 'POST',
          success : function(data) {
           FileUploadVisible(true);
           $('#attachmentModal').modal('hide')
           $(':input','#attachmentModal').val("");
            $("#pbarmain").hide();
            $("#pbar").hide();
            $("#actionPlanDiv").hide();
            setObjectEnabled('#Upload',false);
          },
          error : function(err) {
              FileUploadErrorVisible(true);
          }
     });

        }

@Bean(name = "multipartResolver")
public CommonsMultipartResolver commonsMultipartResolver(){
    CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
    commonsMultipartResolver.setDefaultEncoding("utf-8");
    commonsMultipartResolver.setMaxUploadSize(5000000); // 5000000 -> 5MB
    return commonsMultipartResolver;
你必须使用

 @RequestMapping(method = RequestMethod.POST, headers = ("content-
        type=multipart/*"), produces = "application/json", consumes = "file/*")
 public String uploadFile(@RequestParam("number") String number, @RequestParam("files") MultipartFile files) {
并将contentType:'多部分/表单数据使用到javascript代码中

     url : url,
      data : formData,
      processData : false,
      contentType: 'multipart/form-data',
      type : 'POST',
      success : function(data) {

我不熟悉AJAX或Java HTTP集成中的文件上载,但只要看一下错误,它就建议您应该使用一个MultipartFile数组作为参数,可能来自commonmultipartresolver?错误发生在哪里?错误来自spring日志,当我使用Tomcat server在本地运行它时,当我在本地执行代码时,我能够选择多个文件,然后当我单击upload按钮时,它打印控制台日志:console.log(“form data”+formData);ajax请求之后立即出现错误。@RequestMapping(value={”/fileUpload“},method=RequestMethod.POST,headers=(“content type=multipart/*”),products=“application/json”,consumes=“file/*”@ResponseBody public String uploadFile(@RequestParam(“number”)String number,@RequestParam(“files”)MultipartFile[]文件,MultipartTtpServletRequest req,HttpServletResponse res){这不起作用,我添加了contenttype也无法解析多部分servlet请求;嵌套异常为org.apache.commons.fileupload.FileUploadException:请求被拒绝,因为找不到多部分边界。请尝试以下代码`headers:{'Content-Type':'multipart/form data'}`进入ajaxSame错误:2017-04-13 19:24:03.752调试o.s.web.servlet.DispatcherServlet.976-无法完成请求org.springframework.web.multipart.MultipartException:无法解析多部分servlet请求;嵌套异常为org.apache.commons.fileupload.FileUploadException:请求被拒绝,因为没有创建多部分边界可在org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:163)$.ajax({url:url,data:formData,processData:false,headers:{'Content-Type':'multipart/formData'},//contentType:'multipart/form data',type:'POST',
     url : url,
      data : formData,
      processData : false,
      contentType: 'multipart/form-data',
      type : 'POST',
      success : function(data) {