리눅스 서버에서 파일명을 찾지 못하는 이유
1) 파일을 읽어오지 못하는 이유
현상: 이미지 파일을 업로드한 후 해당 이미지를 불러오는 과정에서 이미지를 불러오지 못하는 케이스를 발견했습니다. 경로의 문제도 아니고, 해당 파일이 깨진 것도 아니며 분명히 존재하는데 왜 파일을 읽어오지 못하는 것일까요?
로그를 확인해보니 파일이 존재하지 않다고 나오고 있었습니다. 아무리 봐도 경로의 문제는 아니었습니다. 결국 1시간 동안 삽질한 끝에 발견한 이유는 확장자가 JPG로 되어 있는데, 코드에서는 .jpg로 불러오는 것이 원인이었습니다.
이미지 파일 저장 시 항상 사용하는 툴이 있는데, 이번에는 해당 툴을 사용하지 않고 캡처 도구를 사용했더니 저장되는 확장자가 달랐던 것입니다. 로컬 환경(윈도우)에서는 .JPG, .jpg, .jpeg 등 다양한 확장자를 파일 시스템이 자동으로 인식하여 읽어오는 반면, 리눅스 서버에서는 파일 시스템이 자동으로 인식하지 못합니다. 파일 이름뿐만 아니라 확장자도 명확하게 일치해야 합니다.
필자의 경우, 로컬에서 계속 테스트하다 보니 정상적으로 작동되었기 때문에 원인을 찾기가 더 어려웠습니다.
2) 해결방법
위에서 언급 한대로 리눅스 서버에서 파일을 불러올 경우 파일 경로를 정확하게 입력해주어야 합니다. (확장자도 정확하게 일치)
당연히 될 거라 생각했던 부분에서 처리가 되지 않을 때가 정말 당황스럽네요. 확인이 어렵습니다^^
다들 저처럼 삽질하지 않기를 바랍니다.
이 포스팅이 도움이 되었다면, 다른 분들에게도 공유해주세요. 앞으로도 유익한 정보를 제공하기 위해 노력하겠습니다. 감사합니다.
궁금하신 점이 있다면 댓글 남겨주세요. 읽어주셔서 감사합니다.