POST 请求 .txt 文件
POST request for .txt file
我不会写一个函数,可以通过POST-request.
获取一个.txt文件
我有一个包含短语的 .txt 文件:Hello World!
服务器端:
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':'There was an error parsing the body'}
在服务器端:"POST /post_text_file HTTP/1.1" 400 错误请求
requests.post 有一个 files
参数,您可以使用它来发送这样的文件:
import requests
url = "http://localhost:8000/post_text_file"
fin = open('Hello World.txt', 'rb')
files = {'file': fin}
try:
r = requests.post(url, files=files)
finally:
fin.close()
通常,随请求发送的文件可以通过 request.files
作为上传文件的字典访问。
如果您没有安装 python-multipart,就会发生这种情况。所以请确保您已完成:
pip install python-multipart
我不会写一个函数,可以通过POST-request.
获取一个.txt文件我有一个包含短语的 .txt 文件:Hello World!
服务器端:
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':'There was an error parsing the body'}
在服务器端:"POST /post_text_file HTTP/1.1" 400 错误请求
requests.post 有一个 files
参数,您可以使用它来发送这样的文件:
import requests
url = "http://localhost:8000/post_text_file"
fin = open('Hello World.txt', 'rb')
files = {'file': fin}
try:
r = requests.post(url, files=files)
finally:
fin.close()
通常,随请求发送的文件可以通过 request.files
作为上传文件的字典访问。
如果您没有安装 python-multipart,就会发生这种情况。所以请确保您已完成:
pip install python-multipart