콘텐츠로 이동

사이트 파일 업로드 완료

아래 스크립트 설정 블록에서 시작한 다음, 아래의 스니펫 코드를 추가하세요.

# ... script setup + initiate response (file_id, part_urls, FILE_PATH, file_size) ...
parts_count = len(part_urls)
part_size = math.ceil(file_size / parts_count)
completed_parts = []
with open(FILE_PATH, "rb") as file_handle:
for entry in sorted(part_urls, key=lambda part: part["partNumber"]):
chunk = file_handle.read(part_size)
put_response = requests.put(
entry["url"],
data=chunk,
headers={"Content-Length": str(len(chunk))},
)
put_response.raise_for_status()
completed_parts.append({
"partNumber": entry["partNumber"],
"etag": put_response.headers["ETag"],
})
result = api_post(f"/v1/site-files/{file_id}/finalize", {"parts": completed_parts})
print(json.dumps(result, indent=2))