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 점검
- Content-Type
- Presign 생성 시
PutObjectRequest.builder().contentType(...)
로 지정했다면, - 지정하지 않았다면 보통
application/octet-stream
이 안전합니다.
Postman ▶ Headers 탭에
Content-Type: application/octet-stream
처럼 정확히 일치하는 값을 추가해야 합니다.
- 불필요한 Authorization, x-amz-헤더는 모두 제거
- Presigned URL 에 이미 서명이 포함되어 있으므로,
Postman 기본 Authorization(AWS Auth 등) 설정은 끄고
Authorization
헤더도 남기지 마세요.3. Body 설정
- Postman ▶ Body 탭 클릭
- binary 선택
- 우측 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 만 맞춰 주시면, 추가 인증 없이 바로 객체가 올라갑니다.