我正在尝试从 1 Flask
发送图像应用程序到另一个端点,即从一个端点到另一个端点,但我不知道需要进行什么转换才能正确发送和接收。我正在使用下面的代码,但我得到 NoneType
接收方对象
发送者 Flask 应用代码
import requests
data = {}
data['image'] = # <image>
res = requests.post('http://<IP>:<PORT>/', data = data)
接收器 flask 应用程序代码
from flask import request
import numpy as np
import cv2 as cv
f1 = request.form.get('image')
print(type(f1))
f2 = np.fromstring(f1, np.uint8)
print(type(f2), f2.shape)
f3 = cv.imdecode(f2, cv.IMREAD_COLOR)
print(type(f3))
我尝试过发送两种类型的图像。发送类型为 <class 'PIL.Image.Image'>
的图像在接收端产生以下输出
<class 'str'>
<class 'numpy.ndarray'> (62,)
<class 'NoneType'>
正在发送 <class 'numpy.ndarray'>
类型的图像在接收端产生以下输出
<class 'str'>
<class 'numpy.ndarray'> (3,)
<class 'NoneType'>
最佳答案
使用 requests.post(url, files={'image': open('image.jpg', 'rb')})
发送图像,参见 https://requests.readthedocs.io/en/master/user/quickstart/#post-a-multipart-encoded-file .
使用 file = request.files['image']
接收图像,例如使用 file.save('image.jpg')
存储它。
关于python - 如何在 Flask 中通过 POST 请求发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64649598/