StackOverflow。 我尝试通过python使用请求发布图像,并且尝试了很多方法,但仍然没有想法。
答案 0 :(得分:1)
import requests
url = 'http://localhost:5000/xxxx'
files = {'image_file': open('test2.png', 'rb')}
requests.post(url, files=files)
在接收方,您可以使用
f = request.files['image_file']
此f将为字节形式,您将必须以图像形式解码字节。 要使用opencv做到这一点,您可以使用以下代码
npimg = np.fromstring(f.read(), np.uint8)
img = cv2.imdecode(npimg, cv2.IMREAD_ANYCOLOR)
答案 1 :(得分:0)
这几乎不可能在不知道更多细节的情况下给出好的答案; API端点将接受什么,您已经尝试了什么,等等。但是,通常,这是在请求中上传文件的方式:
with open("/file/path.jpg") as fhandle:
resp = requests.put("http://endpoint/address", data=fhandle.read(), headers={
"Content-Type": "{{ENTER_CONTENT_TYPE_HERE}}",
})
然后,您可以从“ resp”对象访问状态代码以检查是否成功等。“ put”方法可以与“ post”或您使用的任何HTTP方法互换。我认为您通常已经熟悉如何使用该库。