mainRought.js
var myApp = angular.module('myApp',['ngRoute','ngFileUpload','angularFileUpload','ui.grid','ui.bootstrap','ngCookies','ngResource','angular-media-preview','ngComboBox']);
my curdopration.js
myApp.controller('curdopration', function($scope, $http , $modal , $location , $rootScope , $window , $upload, CustomerService) {
$scope.addUser=function(registrationData)
{
$upload.upload({
url : _path + '/cityController/addUser',
data : registrationData,
file : userImage,
method : "POST",
/*headers : "content-type=multipart/*"*/
})
}
});
citycontroller.java
[@RequestMapping(value="/addUser", method = RequestMethod.POST,headers = "content-type=multipart/*")
public @ResponseBody void addUser(@RequestBody curdOpration curdopration,@RequestParam("file") MultipartFile file){
System.out.println("Countryname"+curdopration.toString());
cityService.addUser(curdopration);
}][1]
我的浏览器显示 POST http://localhost:8081/demopeoject/cityController/addUser 400(错误请求)
答案 0 :(得分:4)
在角度代码中使用$ upload.upload而不是$ http.post。
$upload.upload({
url : 'saveUserData',
file : yourFile,
data : $scope.userDataBean,
method : 'POST'
});
更换弹簧控制器。
@RequestMapping(value = "/saveUserData", method = RequestMethod.POST, headers = ("content-type=multipart/*"))
public @ResponseBody String saveUserDataAndFile(@RequestParam("file") MultipartFile file, UserDataBean userDataBean) {
System.out.println("output: " + userDataBean.toString());
return "";
}