angularjs springmvc fileupload

时间:2015-04-13 11:19:09

标签: angularjs spring-mvc spring-boot

我是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("");

}

错误: 客户端发送的请求在语法上是不正确的

0 个答案:

没有答案