Получить данные формы с помощью python - PullRequest
1 голос
/ 11 июля 2020

Я новичок в веб-общении. Я использую ubuntu и пытаюсь изучить fastapi. Допустим, я отправляю файл с помощью curl. Распространено мнение, что это лучший способ сделать это:

curl -F "file=@image1.jpg" http://127.0.0.1: 8000 / image -v

Теперь на стороне сервера я хочу получить изображение и добавить 1 к каждому значению пикселя, а затем вернуть его. Но теперь я знаю, как «поймать» изображение из локона, как мне это сделать? Прямо сейчас у меня есть только фиктивная функция ниже, которая не делает ничего интеллектуального:

@app.post("/image")
async def post_test():
    print("I don't know how to catch the image :( ")
    return {"You sent an image..."}

Пожалуйста, помогите с тем, как мне написать функцию post_test! (Flask тоже подойдет.)

1 Ответ

2 голосов
/ 11 июля 2020

Вы можете проверить полный ответ из моего ответа SO на аналогичный вопрос ( Как отправить файл на конечную точку fastapi с помощью почтальона )

В основном вам придется изменить свой код на

from fastapi import FastAPI, UploadFile, File


app = FastAPI()


@app.post("/file/")
async def create_upload_file(file: UploadFile = File(...)):
    # Access your file object via file.file,
    # and perform all the necessary transformations
    # Return the filename, but you may return the file itself
    return {"filename": file.filename}
...