콘텐츠로 이동

mediaDownloadFileName — @gj-kit/expo-media

@gj-kit/expo-media에서 공개하는 function입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.

import { mediaDownloadFileName } from '@gj-kit/expo-media';
/**
* 저장 파일명 = `` `${prefix}-${id || index + 1}.${ext}` `` (전신 saveImages.ts:71).
*
* 확장자 우선순위 — **저장된 fileName → contentType → URL 경로 → `'jpg'`**.
* 전신 주석(saveImages.ts:56-58) 그대로의 근거: "저장된 원본 이름을 우선한다 — 다운로드 URL은
* 흔히 경로에 확장자가 없는 토큰화된 프록시라, URL을 스니핑하면 모든 PNG/HEIC/동영상
* 다운로드가 `<prefix>-<id>.jpg`가 되어버린다."
*
* ⚠ `index`는 **0-base 필수 인자**다(G8). `id`가 없거나 빈 문자열일 때 `index + 1`이
* 유일한 구분자이며, 이것이 없으면 여러 장을 저장할 때 파일명이 전부 같아진다 —
* 브라우저는 `(1)` 접미사로 얼버무리고, MediaLibrary 경로는 캐시 파일을 덮어쓴다.
*/
declare function mediaDownloadFileName(input: {
readonly url: string;
readonly index: number;
readonly id?: string | undefined;
readonly fileName?: string | undefined;
readonly contentType?: MediaContentType | undefined;
readonly prefix?: string | undefined;
}): string;

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/expo-media
  • 버전: 0.6.1
  • 공개 entry: .
  • 소스: GitHub

저장 파일명 = `${prefix}-${id || index + 1}.${ext}` (전신 saveImages.ts:71).

확장자 우선순위 — 저장된 fileName → contentType → URL 경로 → 'jpg'. 전신 주석(saveImages.ts:56-58) 그대로의 근거: “저장된 원본 이름을 우선한다 — 다운로드 URL은 흔히 경로에 확장자가 없는 토큰화된 프록시라, URL을 스니핑하면 모든 PNG/HEIC/동영상 다운로드가 <prefix>-<id>.jpg가 되어버린다.”

index0-base 필수 인자다(G8). id가 없거나 빈 문자열일 때 index + 1이 유일한 구분자이며, 이것이 없으면 여러 장을 저장할 때 파일명이 전부 같아진다 — 브라우저는 (1) 접미사로 얼버무리고, MediaLibrary 경로는 캐시 파일을 덮어쓴다.