请求被拒绝,因为在angularjs和spring mvc中未找到多部分边界

请求被拒绝,因为在angularjs和spring mvc中未找到多部分边界,angularjs,spring,spring-mvc,Angularjs,Spring,Spring Mvc,我试图使用angular js和spring mvc上传multiple=“true”的多输入类型文件,但我从服务器得到的异常是“请求被拒绝,因为找不到多部分边界” 在这里,我将把我的代码放在下面 我的jsp是 <html ng-app="myApp"> <body> <div ng-controller="controller"> <input type="submit" name="submit" value

我试图使用angular js和spring mvc上传multiple=“true”的多输入类型文件,但我从服务器得到的异常是“请求被拒绝,因为找不到多部分边界”

在这里,我将把我的代码放在下面

我的jsp是

 <html ng-app="myApp">
 <body>
       <div ng-controller="controller">
            <input type="submit" name="submit" value="add"  ng-click="add();" />
          <form name="form" id="form"   ng-submit="submitRecord(blog)" enctype="multipart/form-data" >
                   <div id="outerdiv" name="outerdiv">
                   </div>
          </form>
       </div>
 </body>
  </html>
我的请求头是

POST /technoblogs/blog/saveblog HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 209
Accept: application/json, text/plain, */*
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36    (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7uIEu9ax8IY8nCde
Referer: http://localhost:8080/technoblogs/blog/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: JSESSIONID=61816E4AB7F6905F688755CF22BC16FF
也许这对你有帮助。您缺少的是一个内容头

从链接的答案中:

即使您将内容类型设置为正确的值multipart/form data,Angular也将作为JSON发布。因此,我们必须手动将请求转换为正确的数据…[使用]transformRequest函数,该函数不返回原始FormData…如下所示:


编辑:您能给我们看一下您的HTTP响应和/或请求吗?

我在问题中显示了我的HTTP请求和响应头。我不知道为什么响应头返回错误代码404,但当我在spring控制器中打印一些请求映射为“saveblog”的东西时,它会打印在控制台上。
@RequestMapping(value="/saveblog", method=RequestMethod.POST, headers = "'Content-Type': 'multipart/form-data'")
public void saveblog(MultipartHttpServletRequest request, HttpServletResponse response)
{

    System.out.println("in multipart ");
    Iterator<String> itr=request.getFileNames();

    MultipartFile file=request.getFile(itr.next());

    String fileName=file.getOriginalFilename();
    System.out.println(fileName);

}
  <bean id="multipartResolver"                class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="2097152" />
</bean>
HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 949
POST /technoblogs/blog/saveblog HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 209
Accept: application/json, text/plain, */*
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36    (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7uIEu9ax8IY8nCde
Referer: http://localhost:8080/technoblogs/blog/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: JSESSIONID=61816E4AB7F6905F688755CF22BC16FF
$http({
    method: 'POST',
    url: 'newDocument',
    headers: {'Content-Type': 'multipart/form-data'},
    data: formData,
    transformRequest: function(data, headersGetterFunction) {
        return data; // do nothing! FormData is very good!
    }
})