我的angularJS文件上传不起作用.它显示错误的请求.如何解决?我正在使用javaspring

my angularJS file upload is not work. it shows bad request error. how to solve it? I am using java spring

本文关键字:解决 javaspring 何解决 文件 angularJS 不起作用 请求 错误 显示 我的      更新时间:2023-09-26

mainRought.js

var myApp = angular.module('myApp',['ngRoute','ngFileUpload','angularFileUpload','ui.grid','ui.bootstrap','ngCookies','ngResource','angular-media-preview','ngComboBox']);

my curdoption.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/*"*/
                })  
    }
});

城市控制器.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]

我的浏览器显示岗位http://localhost:8081/demopeoject/cityController/addUser400(错误请求(

在您的angular代码中使用$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 "";
}