개요
포스트맨을 사용하여 파일을 스프링 서버에 전달하던 중 나타는 오류들을 해결해나가는 과정입니다.
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을 없애야 한다.
'문제해결 및 코드 만들기' 카테고리의 다른 글
| [문제해결] 회원 가입 시 동시성 문제가 발생하는가 (0) | 2022.05.11 |
|---|---|
| 서버 시작 전 더미 데이터 넣는 경우 발생 했던 문제점 (0) | 2022.05.11 |
| Spring AOP을 활용한 문제해결 - JWT 토큰 유저 검증 (0) | 2022.04.28 |
| 2022-01-20(개인 프로젝트) 시간 단축 (0) | 2022.01.20 |
| 2021-12-13 비밀번호 만들기 (0) | 2021.12.13 |