проверьте тип и расширение файла с помощью fastapi uploadFile

#python #rest #fastapi

Вопрос:

В настоящее время я работаю над небольшим проектом, который предполагает создание fastapi сервера, позволяющего пользователям загружать jar файл.

В основном у меня есть этот маршрут:

 @app.post("/upload")
async def upload(jar_file: UploadFile = File(...)):
 

и я действительно хотел бы проверить и проверить, действительно ли файл является jar файлом.

Я могу реализовать его самостоятельно, но мне было любопытно, предоставляет ли fastapi этот функционал какой-либо другой пакет.

Ответ №1:

Вы можете проверить тип MIME (https://fastapi.tiangolo.com/tutorial/request-files/#uploadfile).

 @app.post("/upload")
async def upload(jar_file: UploadFile = File(...)):
    if jar_file.content_type != "application/java-archive":
        raise HTTPException(400, detail="Invalid document type")
    return {"filename": "jar_file.filename"}