언어 및 도구들 공부/Spring

업로드한 파일의 경로만 있고 사진 원본이 없으면?

Dr.Mlem 2024. 11. 8. 14:47

(08-13 에서 join.html에서 회원가입할 때, 파일 업로드를 하는 것을 보고 든 의문)

Q1.

현재 파일을 업로드를 스프링부트로 받아서 저장해두고 있고, 해당 파일의 주소 경로를 db에 저장해둔 상태야. 이 상황에서, 업로드된 파일을 삭제해버리고, 나중에 저장된 주소 경로를 db에서 불러와서 파일을 불러내려고 하면, 무슨 에러가 뜨지?

 
 
 
A1.

GitHub Copilot

사용된 1 참조

업로드된 파일을 삭제한 후, 나중에 저장된 주소 경로를 DB에서 불러와서 파일을 불러내려고 하면, 파일이 존재하지 않기 때문에 다음과 같은 에러가 발생할 수 있습니다:

 

  • 파일을 찾을 수 없음 (FileNotFoundException): 파일 시스템에서 해당 경로에 파일이 존재하지 않기 때문에 발생하는 에러입니다. 예를 들어, Java에서는 java.io.FileNotFoundException이 발생할 수 있습니다.
  • HTTP 404 Not Found: 웹 애플리케이션에서 파일을 제공하려고 할 때, 파일이 존재하지 않으면 HTTP 404 상태 코드가 반환될 수 있습니다.
  • NullPointerException: 파일 경로를 사용하여 파일 객체를 생성하거나 파일을 읽으려고 할 때, 파일이 존재하지 않으면 null을 반환하거나 NullPointerException이 발생할 수 있습니다.

예를 들어, 스프링 부트 애플리케이션에서 파일을 읽으려고 할 때 파일이 존재하지 않는 경우 다음과 같은 예외가 발생할 수 있습니다:

 

 

이 경우, 파일이 존재하지 않으면 FileNotFoundException이 발생합니다.