如何使用请求发布图像?

时间:2019-11-11 12:46:42

标签: python python-requests

StackOverflow。 我尝试通过python使用请求发布图像,并且尝试了很多方法,但仍然没有想法。

这是网站:https://ezgif.com/image-to-datauri

2 个答案:

答案 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方法互换。我认为您通常已经熟悉如何使用该库。