POST リクエストを介して .txt ファイルを取得できる関数を作成できません。
Hello World! というフレーズを含む .txt ファイルがあります。
サーバ側:
from fastapi import FastAPI, File
from starlette.requests import Request
import io
app = FastAPI()
@app.post("/post_text_file")
def text_function(request: Request,
file: bytes = File(...)):
text = open(io.BytesIO(file), "r").read()
return text # Hello World!
クライアント側:
import requests
url = 'http://localhost:8000/post_text_file'
r = requests.post(url,data=open('Hello World.txt'))
コマンド uvicorn main:app を実行し、クライアント側でコードを実行すると、次の答えが得られます。
クライアント側: {'detail': '本文の解析中にエラーが発生しました'}
サーバー側: "POST /post_text_file HTTP/1.1" 400 Bad Request