如题
import json
import requests
import base64 as bs64
from PIL import Image
import io
def extra_to_base64(extra):
def get_image(url):
for retry in range(5):
try:
response = requests.get(url, timeout=3)
response.raise_for_status()
return response.content
except:
continue
return None
try:
obj = json.loads(extra)
image_list = obj['image_list']
uri = image_list[0]['u']
url = "https://your_domain/" + uri
base64str = bs64.b64encode(get_image(url)).decode('utf-8')
return base64str
except Exception as e:
print('fail to parse {}'.format(extra))
return ''
def base64_to_image_file(base64_string):
image_data = bs64.b64decode(base64_string)
image = Image.open(io.BytesIO(image_data))
image.save('output_image.png')
if __name__ == '__main__':
extra = ''''''
base64_str = extra_to_base64(extra)
print('base64_str={}'.format(base64_str))
base64_to_image_file(base64_str)