Soy nuevo en la comunicación web. Yo uso ubuntu y trato de aprender fastapi. Digamos que publico un archivo usando curl. Parece ser una opinión común que esta es la mejor manera de hacerlo:
curl -F "archivo=@imagen1.jpg" http://127.0.0.1:8000/imagen -v
Ahora, en el lado del servidor, quiero recuperar la imagen y agregar 1 a cada valor de píxel y luego devolverlo. Pero ahora tengo una idea de cómo "atrapo" la imagen de curl, ¿cómo hago eso? En este momento, solo tengo la función ficticia a continuación que no hace nada inteligente:
@app.post("/image") async def post_test(): print("I don't know how to catch the image :( ") return {"You sent an image..."}¡Ayuda con cómo debo escribir la función post_test! (El matraz también funcionaría).
Puede verificar la respuesta completa de mi respuesta SO para una pregunta similar ( Cómo enviar un archivo al punto final fastapi usando cartero )
Básicamente, tendrías que cambiar tu código a
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}