프론트엔드
HEIC 파일 포맷 지원을 통한 사용자 경험 향상 시키기
두줄요약
이미지 업로드에서 HEIC 파일로 인한 오류를 해결하기 위해 파일 시그니처를 검사하는 방법을 소개했습니다. 브라우저에서 HEIC를 감지하고 JPEG로 변환해 사용자 경험을 개선하는 방안을 설명했습니다.
문제 상황
- 이미지 업로드 시 .jpg 확장자와 달리 실제 파일 타입이 image/heic 인 경우 발생
- 지원 포맷이 image/jpeg, image/png 로만 제한되어 업로드 에러 유발
원인 분석
- 파일 확장자만으로는 실제 타입 판별 불가
- 바이너리 헤더의 파일 시그니처를 확인해야 형식 식별 가능
해결 방법
- FileReader 로 파일을 바이트 배열로 읽고 4~12바이트 구간의 시그니처 검사
- ftypheic, ftypheix 등 HEIC_SIGNATURE 목록과 비교해 HEIC 여부 판별
- heic2any 라이브러리로 HEIC/HEIF 를 JPEG 또는 PNG 로 변환
