lch
lch

Reputation: 4931

Angular & spring mvc file upload

angular

          var fd = new FormData();
                    fd.append('file', mdCtrl.user.resume);
                    $http.post('/JobHire/users/register', fd, {
                         transformRequest: angular.identity,
                         headers: {'Content-Type': undefined}
                    }).then(function success(response){
                        console.log(response);
                    },function error(error){
                        console.log(error);
                    });

Spring controller

@RestController
public class UserController {

    @RequestMapping(value="/users/register",method=RequestMethod.POST)
    public String save(MultipartHttpServletRequest request,HttpServletResponse response){
        Iterator<String> itr = request.getFileNames();
        while (itr.hasNext()) {
            System.out.println("i am here");
            MultipartFile mFile = request.getFile(itr.next());
            String fileName = mFile.getOriginalFilename();
            System.out.println(fileName);
        }

        return "Success";
    }
}

I did not get any files on server side. can some one tell me where i went wrong.

enter image description here

Upvotes: 0

Views: 85

Answers (1)

s.ijpma
s.ijpma

Reputation: 940

Make sure you define a CommonsMultipartResolver bean in your mvcconfig. Using java config the following code is applicable:

@Bean
public CommonsMultipartResolver multipartResolver(){
    CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
    multipartResolver.setDefaultEncoding("UTF-8");
    multipartResolver.setMaxUploadSize(-1); //-1 = no limit
    return multipartResolver;
}

Upvotes: 1

Related Questions