gpt4 book ai didi

Python如何获取图像然后POST(通过请求库)

转载 作者:行者123 更新时间:2023-11-30 21:57:24 25 4
gpt4 key购买 nike

我正在使用 python 尝试从一个 API 中获取一张图像,然后将其发布到一个单独的 API。

到目前为止我有这段代码:

def create_item(token, user_id):
url = '<api_url_to_post_to>'
headers = {"Authorization": "Token {0}".format(token)}

image_url = '<some_random_image_url>'
image_obj = requests.get(image_url)

data = {
"image": image_obj.content
}

r = requests.post(url, headers=headers, files=data)
response = r.json()

print(response)

return response

问题是,当我尝试将其发布到第二个 API 时,我收到“不允许使用文件扩展名”。错误。这显然是一条自定义错误消息,但它表示我正在发布文件有问题。

对我可能做错的事情有什么建议吗?

最佳答案

尝试指定文件类型,image_obj.content 是原始二进制图像:

r = requests.post(
url,
headers=headers,
files={'image': ('my_image.jpg', image_obj.content, 'image/jpg')})

这应该将正确的标题添加到图像的多部分边界。

如果您不确定内容类型,您实际上可能会从之前响应的 header 中获取它:image_obj.headers['Content-Type'] 应该是“image/jpg”,但对于不同的图像,它可能是“image/png”。

关于Python如何获取图像然后POST(通过请求库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55265963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com