Python请求发送图片

Python Request send image

我有一个 fastapi 应用程序,其中一个端点显示为:

@app.post(
"/testing", 
name="testing", 
tags=["pluggin"],
)
def testing(images: List[bytes] = File(...)):
    #do whatever

如何发送带有图像的请求以便端点能够正确读取它?现在我有:

import requests

f = io.BytesIO(file readed in binary)
files = {'file': f.getvalue()}
r = requests.post("mywebsite:myport/testing", files=files)

但它 returns 我回复 422

您的 requests 负载必须包含与函数参数 (images) 中相同的名称。

这意味着,

def testing(images: List[bytes] = File(...)):
            ^^^^^^^

files = {'file': f.getvalue()}
         ^^^^^^

必须相同。因此,将您的代码更改为以下将按预期工作。

import requests

f = io.BytesIO(file readed in binary)
files = {'images': f.getvalue()}
          ^^^^^
r = requests.post("mywebsite:myport/testing", files=files)