PresignedURL 방식을 통한 파일 업로드

생성일
Jul 29, 2025 11:46 AM
상위 항목
최종 편집 일시
Last updated July 29, 2025
태그
S3
Infra
하위 항목
Postman 으로 S3/MinIO용 Presigned PUT URL 에 파일을 업로드하려면, 크게 아래 세 단계를 따라 주세요.

1. 새 요청 만들기

  • Method: PUT
  • URL: Presigned URL (AWS SDK v1/v2로 발급받은 URL 그대로 복사)
주의: Query string(예: ?X-Amz-Algorithm=...) 를 포함한 전체 URL 을 사용해야 합니다.

2. Headers 점검

  1. Content-Type
      • Presign 생성 시 PutObjectRequest.builder().contentType(...) 로 지정했다면,
        • Postman ▶ Headers 탭에
          Content-Type: application/octet-stream
          처럼 정확히 일치하는 값을 추가해야 합니다.
      • 지정하지 않았다면 보통 application/octet-stream 이 안전합니다.
  1. 불필요한 Authorization, x-amz-헤더는 모두 제거
      • Presigned URL 에 이미 서명이 포함되어 있으므로,
        • Postman 기본 Authorization(AWS Auth 등) 설정은 끄고
          Authorization 헤더도 남기지 마세요.

3. Body 설정

  1. Postman ▶ Body 탭 클릭
  1. binary 선택
  1. 우측 Select File 버튼 눌러 업로드할 파일(.png, .jpg, .zip 등) 선택

전송 & 검증

  • Send 버튼 클릭
  • HTTP/1.1 200 OK (또는 204) 응답 확인
  • S3/MinIO 버킷에 들어간 객체 확인

cURL 예시

Postman 대신 터미널에서 해보고 싶다면:
curl -X PUT "<YOUR_PRESIGNED_URL>" \ -H "Content-Type: application/octet-stream" \ --data-binary @"./path/to/your-file.png"

이렇게 하면 Postman 에서 Presigned PUT URL 로 직접 파일을 전송할 수 있습니다. 요청에 포함된 쿼리파라미터(서명)와 일치하는 Content-Type 만 맞춰 주시면, 추가 인증 없이 바로 객체가 올라갑니다.