AngularJS+;泽西邮政错误请求

AngularJS+;泽西邮政错误请求,angularjs,jersey,Angularjs,Jersey,我在泽西岛有以下用于文件上传的API: @Path("/image/upload") @POST @Consumes(MediaType.MULTIPART_FORM_DATA) @Produces("application/json") public Response Imageupload( @QueryParam("filename") String filename, @FormDataParam("file

我在泽西岛有以下用于文件上传的API:

@Path("/image/upload")
    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces("application/json")
    public Response Imageupload(
            @QueryParam("filename") String filename,
            @FormDataParam("file") InputStream fileInputString, 
            @Context ContainerRequestContext crc)
            throws ConnectException, SQLException, InvalidCredentialsException, IOException, GeneralException {
}
我使用angular js上传文件:

_myApp.service('fileUpload', ['$rootScope', '$http', function($rootScope, $http) {
    this.uploadFileToUrl = function(file, uploadUrl) {

        var fd = new FormData();

        fd.append('file', file);




        $http.post(uploadUrl, fd, {
                transformRequest: angular.identity,
                headers: {
                    'Content-Type': 'multipart/form-data',
                    'Authorization': 'Bearer ' + $rootScope.token
                },
                 params:{
                         'filename':file.name
                }
            })
            .success(function() {

            })
            .error(function() {

            });
    }
}]);



_myApp.controller('uploadImageController', ['$rootScope', '$scope', '$http', 'fileUpload', function($rootScope, $scope, $http, fileUpload) {

                $rootScope.show = true;

                $scope.upload = function() {
               //$scope.fileObject is the File I am trying to upload
                        console.log($scope.fileObject);
                        var file = $scope.fileObject;



                        var uploadUrl = "http://xx.xx.xx.xx:8080/ImageAPIS/image/upload";

                        fileUpload.uploadFileToUrl(file, uploadUrl);

                }
我得到以下错误:

400错误请求:客户端发送的请求在语法上不正确。
我是否以错误的角度标准发布请求?我可以看到正在发送的有效载荷,球衣和发送的角度请求之间有什么不匹配?


我已经参考了以下文件上载代码-

因为您要将文件名附加到多部分正文(
fd.append('filename',File.name);
),所以您还应该获得多部分的名称,而不是查询参数。i、 e.
@FormDataParam(“文件名”)字符串文件名
。我不知道这是否是错误的原因。我已经修改了表单数据,删除了附加的文件名,并将其作为参数发送。我仍然收到相同的错误。请尝试
标题:{'Content-Type':undefined}
。我认为通过显式设置内容类型,您将丢失浏览器设置边界的功能,这将导致错误的请求。为什么设置内容类型是错误的:多部分/表单数据?设置内容类型:未定义是否意味着它将自动调整内容类型?是的,浏览器将设置内容类型以及附加到内容类型的边界。如果您不知道边界是什么,请在多部分上进行搜索。但边界是必需的。如果它不在那里,则会导致服务器发出错误的请求响应,因为您要将文件名附加到多部分正文(
fd.append(
),您还应该获得多部分的名称,而不是查询参数。i、 e.
@FormDataParam(“文件名”)字符串文件名
。我不知道这是否是错误的原因。我已经修改了表单数据,删除了附加的文件名,并将其作为参数发送。我仍然收到相同的错误。请尝试
标题:{'Content-Type':undefined}
。我认为通过显式设置内容类型,您将丢失浏览器设置边界的功能,这将导致错误的请求。为什么设置内容类型是错误的:多部分/表单数据?设置内容类型:未定义是否意味着它将自动调整内容类型?是的,浏览器将设置内容类型以及附加到内容类型的边界。如果您不知道边界是什么,请在多部分上进行搜索。但边界是必需的。如果不存在,则会导致服务器发出错误的请求响应