简体   繁体   English

如何从 Python 中内容类型为“mime: image/jpg”的 API 响应中获取图像?

[英]How to get an image from an API response with content type "mime: image/jpg" in Python?

I did a request to an API and obtain characters from an image.我向 API 发出请求并从图像中获取字符。 I want to put those characters into a 'jpg' file to be able to visualize the image.我想将这些字符放入“jpg”文件中,以便能够可视化图像。 The content-type is 'mime: image/jpg' and the data is the following one (it's not the complete one because it would be too much):内容类型是“mime: image/jpg”,数据如下(它不是完整的,因为它太多了):

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/wAALCAMABAABAREA/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMHAgj/xAA4EAABBAIBAwIFAwMCBwEBAQEAAQIDBAUREgYTIRQiFRYxMkEHIzMlUWI0QkZhZXGhoqOBF1Ik/9oACAEBAAA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2DM9K4NnTcmRdia1KovT8N/1MFmV0jLsjkRkfB0jv23LtNq3+/uTXjMZH9Mc9Qo3LEyQrJTr+qniRkqcWoiK5EkViROc1F8o16/Rdb0S

How can I do it?我该怎么做?

A quick bit of research indicates /9j/ is a magic number likely indicating the binary representation of a JPEG file that's been Base64-encoded.快速研究表明/9j/是一个神奇的数字,可能表示经过 Base64 编码的 JPEG 文件的二进制表示。 ( Source ). 来源)。

Thus it should be possible to use the base64 module in Python to generate the file you describe:因此,应该可以在 Python 中使用base64模块来生成您描述的文件:

import base64
jpg_b64_string_data = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/wAALCAMABAABAREA/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMHAgj/xAA4EAABBAIBAwIFAwMCBwEBAQEAAQIDBAUREgYTIRQiFRYxMkEHIzMlUWI0QkZhZXGhoqOBF1Ik/9oACAEBAAA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2DM9K4NnTcmRdia1KovT8N/1MFmV0jLsjkRkfB0jv23LtNq3+/uTXjMZH9Mc9Qo3LEyQrJTr+qniRkqcWoiK5EkViROc1F8o16/Rdb0S"
image_data = base64.decodestring(jpg_b64_string_data)
f = open("image.jpg", "w")
f.write(image_data)
f.close()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM