upload는 framing부터 공개 전환까지 여러 검사를 지난다

MultipartFile 수신은 시작일 뿐이며 크기·실제 bytes·checksum·악성 검사와 영속 상태 전환을 모두 통과해야 attachment가 된다.

01 · PARSE

Framing 검사

part 이름·요청 크기·header를 제한한다.

02 · INSPECT

실제 bytes 확인

magic bytes와 허용 media type을 비교한다.

03 · TEMP

임시 key 저장

공개되지 않은 위치에 checksum과 함께 둔다.

04 · SCAN

안전성 판정

악성 검사와 콘텐츠 정책을 적용한다.

모든 검사가 통과했는가?
YES

READY

immutable key와 metadata를 공개 상태로 전환한다.

NO

REJECTED

임시 객체를 격리·삭제하고 공개 URL을 만들지 않는다.

핵심: 업로드 성공 응답은 bytes 수신이 아니라 검사가 끝난 READY 상태를 기준으로 해야 한다.