Dies ist eine Erinnerung, als ich versuchte, mehrere Bilder vom normalen HTML-Tag "<input type =" file "...>" auf den Fastapi-Backend-Server hochzuladen, anstatt js zu verwenden.
index.html
<html>
<head>
<title>Face Swap App</title>
</head>
<body>
<h1>Look ma! HTML!</h1>
<form enctype="multipart/form-data" method="post" action="swap">
<input type="file" id="source" name="file"></input>
<input type="file" id="target" name="file"></input>
<input type="submit" value="Face Swap">
</form>
</body>
</html>
main.py
@app.post("/swap", response_class=HTMLResponse)
async def create_swapped_image(files: List[UploadFile] = File(...)):
print(files)
return """
<html>
<head>
<title>Face Swap App</title>
</head>
<body>
<h1>Success!</h1>
</body>
</html>
"""
Zusammenfassend scheint es, dass der Name des "input" -Tags mit dem Argument der Fastapi-Endpunktfunktion übereinstimmen muss! Mit anderen Worten, die Eingabe von index.html
index.html
<input type="file" id="source" name="files">
<input type="file" id="target" name="files">
Es wurde durch den Wechsel zu gelöst. Ich habe nicht alle gelesen, aber ich erinnere mich nicht daran, dies in das offizielle Dokument geschrieben zu haben, deshalb dachte ich, es wäre schwer zu verstehen. Es tut mir leid, wenn ich es geschrieben habe ...