Wie sende/empfangen Sie Binärdaten an eine Webanwendung in Python?Python

Python-Programme
Anonymous
 Wie sende/empfangen Sie Binärdaten an eine Webanwendung in Python?

Post by Anonymous »

Ich lerne Webentwicklung, ich habe einige Erfahrung in Python Scripting. Dieses Mal wollte ich eine API in Python erstellen, also überprüfen Sie schnelle API -Dokumente. Ich habe die folgende Einrichtung (Beispiel für den Zweck dieses Beitrags). Basierend auf den Beispielen auf der schnellen API -Website habe ich den folgenden Python -Code erstellt, der zwei Methoden enthält. Außerdem habe ich Klassen definiert, die die Daten darstellen, die ich in diesen Methoden lesen möchte. Mein Unterstehen ist, dass die pydantische Bibliothek Daten validiert. Zum Testen habe ich den Curl -Befehl als solches verwendet, was funktioniert. Pydantic map die Daten {'name': 'foo'} Ich habe in Curl -Befehl an die Klasse gesendet, die ich definiert habe. Gibt es eine Dokumentation darüber, wie Daten Daten abgebildet werden? Für meine nächste Methode möchte ich Inhalte einer Datei wie Video-/Audio -Daten veröffentlichen, die ich verstehe, die ich als Rohbinärdaten senden kann. Ich habe die FileContent -Klasse mit einem Feld definiert, das Bytes speichern kann. Aber wenn ich versuche, Dateiinhalte zu veröffentlichen, < /p>

Code: Select all

curl -X POST -F "file=@somefile.wav" http://127.0.0.1:5000/upload_file_content

< /code>
Ich erhalte einen JSON -Serialisierungsfehler. Wie kann ich den binären Inhalt der Datei zuordnen, ich sende über Curl an die FileContent -Klasse? < /p>
curl -X "POST" \
"http://127.0.0.1:5000/items" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d "{\"name\": \"foo\"}"
< /code>
from fastapi import FastAPI
from pydantic import BaseModel, bytes

app = FastAPI()

class FileContent(BaseModel):
data: bytes

class Item(BaseModel):
name: str

@app.post("/items/")
async def create_item(item: Item):
return item

@app.post("/upload_file_content/")
async def upload_file_content(file_content: FileContent):
# do something with file content here

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post