2

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

4

2 に答える 2