将str(从response.content获取)保存为图像时出错

时间:2018-01-22 10:07:20

标签: python image request base64

我正在使用python中的请求来命中api并得到回复:

    response = requests.request("POST", url, data=payload, headers=headers)

我在response.content中有图像数据

    print type(response.content) 

给出:

<type 'str'>

现在我必须将此数据保存为我本地的图像文件: 我使用的是ubuntu 16.04和python 2.7

我正在尝试这个:

    image=response.content
    result=open('img.png','wb')
    result.write(image)

但是在尝试打开生成的文件时,会显示以下错误:

Fatal error reading PNG image file: Not a PNG file 

response.content看起来像这样(缩短的样本):

eyJpZCI6IndzX2Y5YnVqaWVwamVzMnRyNWpjM2RpXzE1MTY2MTM5MjgzMzMi‌​LC.............YTZPZ‌​UVjWkwva0FBQUFBRWxGV‌​GtTdVFtQ0MifQ==

我也尝试将response.content编码为base64编码,然后尝试编写我的图像但没有成功。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

你试过这样的事吗:

image=response.content
fh = open("imageToSave.png", "wb")
fh.write(base64.decodebytes(image))
fh.close()