All about

FastAPI에서 업로드된 파일의 크기를 확인하려면 UploadFile 클래스를 사용하고, 이를 통해 content_length 속성을 확인할 있습니다. 다음은 파일 크기를 확인하고 500MB 초과하는지 여부를 검사하는 코드의 예시입니다.

from fastapi import FastAPI, UploadFile, HTTPException

app = FastAPI()

@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
    # 최대 허용 파일 크기 (500MB)
    max_file_size = 500 * 1024 * 1024  # 500MB

    # 파일 크기 확인
    if file.content_length > max_file_size:
        raise HTTPException(status_code=413, detail="File size exceeds the limit of 500MB")

    # 여기에서 파일을 처리하거나 저장하는 로직을 추가할 수 있습니다.
    # 예: file.filename을 사용하여 파일 이름을 얻고, file.file을 사용하여 파일 내용을 처리

    return {"filename": file.filename}

 

이 코드에서 file.content_length는 업로드된 파일의 크기를 나타냅니다. 이 값이 max_file_size보다 크면 HTTPException이 발생하고, 클라이언트에게 "File size exceeds the limit of 500MB"라는 메시지가 반환됩니다.

이렇게 파일 크기를 제한하면 클라이언트가 정의된 제한을 초과하는 파일을 업로드할 서버가 적절하게 응답할 있습니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading