Skip to content

LocalFileTransport — @gj-kit/expo-media

A public interface from @gj-kit/expo-media. The signature below is taken directly from the 0.6.1 release declaration.

import { LocalFileTransport } from '@gj-kit/expo-media';
/**
* ⚠ **계약: 파일 바이트를 JS 힙으로 읽지 말 것.** 네이티브 스트리밍 업로드여야 한다.
*
* 근거(§7 하드닝 1): `FileSystem.uploadAsync`(레거시 URLSession 브리지)가 iOS 26에서 파일 기반
* 업로드를 **시작하는 중 프로세스를 종료시킨다** — promise가 reject될 기회조차 없으므로
* 재시도 로직도 에러 보고도 발화하지 않는다. 크래시 리포트에도 앱 코드 프레임이 남지 않아
* 원인 추적에만 수일이 걸렸다.
*
* expo 기본 어댑터는 `new File(uri).upload(url, { sessionType: 'foreground',
* uploadType: BINARY_CONTENT })`를 쓴다. `hardening-guard`가 `uploadAsync` 문자열의
* 재등장을 `src/**` 전역에서 정적 차단한다.
*/
interface LocalFileTransport {
putLocalFile(input: PutRequest & {
readonly uri: string;
}): Promise<{
readonly status: number;
}>;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/expo-media
  • Version: 0.6.1
  • Public entry: .
  • Source: GitHub