본문 바로가기
텔레그램 한글 가이드
채널·봇 STEP 85 / 98

텔레그램 API 파일 올리기·받기

텔레그램 API 로 파일을 조각으로 올리고 받는 규칙을 정리했습니다. 10MB 를 기준으로 나뉘는 두 업로드 메서드, 조각 크기 규칙과 번호, getFile 의 offset·limit 조건과 precise, 올린 데이터 센터·CDN·자주 만나는 오류를 안내합니다.

  • 난이도L4
  • 읽는 시간4분
  • 최종 검증

결론부터

  1. 110MB 이하는 saveFilePart, 넘으면 saveBigFilePart — 조각으로 올린다.
  2. 2조각은 1KB 배수이고 512KB 를 나누어떨어지게.
  3. 3받기는 getFile — 4KB 배수, 1MB 구간을 넘지 않게.
이 글의 목차
  1. 파일은 조각으로 오간다
  2. 올리기
  3. 받기 — upload.getFile
  4. 자주 만나는 오류
  5. 자주 묻는 질문
  6. 한눈에 정리

파일은 조각으로 오간다

텔레그램 API 에서 파일은 한 번에 보내지 않고 조각(part)으로 나눠 올리고, 받을 때도 위치(offset)와 길이(limit)를 정해 조각씩 받습니다. 공식 앱과 TDLib 은 이 일을 대신 하지만, 직접 구현한다면 조각 크기 규칙을 지켜야 서버가 받아 줍니다.

올리기

파일 크기메서드마지막에 넘기는 값
10MB 이하upload.saveFilePartinputFile
10MB 초과upload.saveBigFilePartinputFileBig
  1. 파일마다 내가 고른 무작위 64비트 번호(file_id)를 정합니다.
  2. 조각 크기를 정합니다. 1KB 의 배수여야 하고, 512KB 를 나누어떨어지게 해야 합니다(예: 512KB, 256KB, 128KB…). 마지막 조각만 이보다 작아도 됩니다.
  3. 조각 번호를 0부터 붙여 차례로 올립니다. 올릴 수 있는 조각 수는 서버 설정 값으로 정해지며, 일반 계정과 프리미엄 계정의 값이 다릅니다.
  4. 다 올리면 그 파일 번호를 inputFile(또는 inputFileBig)에 담아 메시지 보내기 같은 요청에 넘깁니다. 작은 파일은 MD5 를 함께 넘기면 서버가 깨짐을 확인합니다.

올린 파일은 올린 데이터 센터에서만 바로 받을 수 있습니다 — 다른 곳에서 받으려면 FILE_MIGRATE 오류대로 옮깁니다(데이터 센터).

받기 — upload.getFile

방식offset · limit 규칙
기본둘 다 4KB 의 배수, 그리고 1MB 를 limit 으로 나누어떨어져야 한다
precise 켬둘 다 1KB 의 배수, limit 은 1MB 까지
공통요청한 범위가 1MB 단위 구간 하나를 넘어가면 안 된다
  • 큰 파일은 별도 연결을 여러 개 열어 나눠 받는 편이 빠릅니다. 이런 연결은 업데이트를 받지 않게 둡니다(메서드 부르기).
  • 인기 파일은 CDN 으로 넘기라는 답이 올 수 있습니다. 그때는 안내된 CDN 데이터 센터에서 받고, 받은 조각의 해시를 확인합니다.

자주 만나는 오류

오류할 일
FILE_MIGRATE_XX 번 데이터 센터에서 받기
FILE_REFERENCE_EXPIRED파일 참조가 만료 — 원래 메시지를 다시 받아 새 참조로(파일 참조 만료)
FLOOD_WAIT_XX 초 기다리기(오류 읽기)

봇 API 로 파일을 보낼 때는 이런 조각 규칙 없이 HTTP 로 올리거나 file_id 를 다시 쓰면 됩니다 — 대신 크기 한도가 따로 있습니다.

자주 묻는 질문

텔레그램 API 에서 큰 파일은 어떻게 올리나요?

10MB 를 넘으면 upload.saveBigFilePart 로 조각을 올리고 inputFileBig 으로 넘깁니다.

조각 크기는 얼마로 하나요?

1KB 의 배수이면서 512KB 를 나누어떨어지게 하는 크기(예 512KB)로 합니다. 마지막 조각만 작아도 됩니다.

getFile 에서 LIMIT_INVALID 같은 오류가 나요.

offset·limit 이 4KB 배수인지, 1MB 를 limit 으로 나누어떨어지는지, 1MB 구간을 넘지 않는지 확인합니다.

올릴 수 있는 최대 파일 크기는요?

조각 수 한도가 서버 설정 값으로 정해지고 일반·프리미엄 계정이 다릅니다. 설정 값을 받아 계산합니다.

참고한 공식 문서

요약

한눈에 정리

  1. 1올리기

    10MB 기준 · 조각 규칙.

  2. 2받기

    offset·limit · 1MB 구간.

  3. 3오류

    MIGRATE · 참조 만료.

이 글 공유하기

같은 문제를 겪는 친구에게 보내 주세요.

텔레그램
더보기

휴대폰으로 열기휴대폰 카메라로 비추면 이 글이 열려요.

최종 수정 2026-10-06

함께 보면 좋은 글

전체 보기 ›