我是angularjs的新手,我无法理解angularjs文件上传指令在互联网上的例子。 我有以下课程:
@Entity
public class StudentPicture implements Serializable {
private static final long serialVersionUID = 1L;
@Id private String studentId;
private byte[] picture;
// getters setters
}
我想将图片保存在数据库中 到目前为止我已经这样做了 控制器
@RequestMapping(value = "/sampletest", method = RequestMethod.POST)
public void mySample(@RequestBody StudentPicture studentPicture) {
System.out.println(studentPicture.getStudentId());
}
我的jsp表单是
var sample = angular.module('sample', [ "xeditable", "ui.bootstrap" ])
.config(function($httpProvider) {
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
});
sample.controller("sampleController", function($scope, $http, $timeout, $filter) {
$scope.studentId = "";
$scope.picture = {};
$scope.uploadFile = function() {
var data = {studentId : $scope.studentId, picture: $scope.picture };
var response = $http.post('${pageContext.servletContext.contextPath}/sampletest', data);
response.success(function(data, status, headers, config) {
alert("jj");
});
response.error(function(data, status, headers, config) {
alert("Exception details: " + JSON.stringify({ data : data }));
});
};
});
</script>
<body>
<div ng-app="sample" ng-controller="sampleController">
<input type="text" ng-model="studentId">
<input type="file" ng-model="picture">
<button ng-click="uploadFile">Submit</button>
</div>
我的Multipart配置是:
public MultipartResolver multipartResolver(){
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(1000000);
return multipartResolver;
}
@Bean
public MultipartConfigElement multipartConfigElement(){
return new MultipartConfigElement("");
}
错误: 客户端发送的请求在语法上是不正确的