Js代码
var formData = new FormData(); formData.append('userName',$scope.userName); formData.append('file',$scope.file); var url ="http://localhost:8080/SpringMVCT/rest/v1/uploader"; $.ajax({ type:'POST', url:url, data:formData, contentType:undefined, mimeType:"multipart/form-data", success:function(data){ } });
看错误提示信息应该是输入参数错误,检查代码可能是$scope.file这个File类型的参数被预先处理了,于是设置$.ajax 的processData:false,请求成功
$.ajax({ type:'POST', url:url, data:formData, contentType:undefined, processData:false, mimeType:"multipart/form-data", success:function(data){ } });
processData用于对data参数进行序列化处理,默认值是true。默认情况下发送的数据将被转换为对象,如果不希望把File转换,需要设置为false