pile·
프론트엔드·원티드랩원티드랩·

HEIC 파일 포맷 지원을 통한 사용자 경험 향상 시키기

문제원티드 업로드에서 확장자는 .jpg지만 실제로는 HEIC인 파일이 들어와 서버가 jpeg·png만 받아들이면서 사용자에게 업로드 에러가 발생한다.
접근FileReader API로 파일을 Uint8Array로 읽어 4~12번째 바이트의 매직 넘버를 검사해 실제 포맷을 식별한다. HEIC로 판별되면 heic2any 라이브러리로 JPEG/PNG로 변환한 뒤 업로드를 이어 간다.
결과확장자만 믿고 처리하던 흐름에서 벗어나 실제 파일 시그니처 기반 검증으로 전환했다. iOS 사용자의 업로드 실패가 사라지고 MIME 타입 신뢰성이 개선된다.
원티드랩
원티드랩 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 프론트엔드·여기어때 (GC컴퍼니)여기어때 (GC컴퍼니)·

    항공 프론트엔드 구축기 (7/10): 창구를 하나만 두었습니다

    여기어때 항공 서비스 프론트엔드가 웹과 앱 웹뷰 두 환경에서 동일한 함수 호출로 동작하는 앱 브릿지 추상화 레이어를 설계한 과정을 다룬다. iOS·안드로이드 규약 차이와 "웹에 존재하지 않는 브릿지를 어떻게 호출하나"라는 문제를 단일 추상화 층으로 해결한 구현 사례다.

    요약 이어보기
    #react#typescript#webview+2