개요

포스트맨을 사용하여 파일을 스프링 서버에 전달하던 중 나타는 오류들을 해결해나가는 과정입니다.

 

 

1.  NullPointerException

 

에러 내용 : java.lang.NullPointerException: 

Cannot invoke "org.springframework.web.multipart.MultipartFile.getResource()" because "multipartFile" is null

 

코드

@PostMapping("/img/test")
	public String imgTest(MultipartFile multipartFile) throws IOException {
		Resource resource = multipartFile.getResource();
		String path = multipartFile.getName();
		String originFileName = multipartFile.getOriginalFilename();
		System.out.println(multipartFile);
		System.out.println(originFileName);
		System.out.println(resource.contentLength());
		return "success";
	}

해결 : @ModelAttribute나 @RequestParm등 데이터를 바인딩해주는 어노테이션을 붙여주면 해결된다.

 

 

2. FileUploadException

에러 내용 : org.apache.tomcat.util.http.fileupload.FileUploadException: 

the request was rejected because no multipart boundary was found

 

@RequestParm이나 바인딩 어노테이션을 붙혔음에도 에러가 날 경우

 

코드

@PostMapping("/img/test")
	public String imgTest(@RequestParam(name = "file") MultipartFile multipartFile,
			@TokenValidator UserTokenDTO userTokenDTO) throws IOException {
		Resource resource = multipartFile.getResource();
		String path = multipartFile.getName();
		String originFileName = multipartFile.getOriginalFilename();
		System.out.println(multipartFile);
		System.out.println(originFileName);
		System.out.println(resource.contentLength());
		return "success";
	}

 

해결 : 포스트 맨의 헤더에 Content-type / multipart/form-data가 키와 값을 특정 값으로 주어져서는 안되고 코드로 헤더를 보낼 때 content-type을 없애야 한다.

 

+ Recent posts