python将base64后的图片字符串重新转为图片

import base64
import hashlib


def md5_value(content, salt=''):
    """
    
    :param content: 
    :param salt: 
    :return: 
    """
    if salt:
        content = '{}{}'.format(content, salt)
    return hashlib.md5(content.encode()).hexdigest().upper()


def convert_base64_src_to_img_file(src=None):
    """
    
    :param src: 
    :return: 
    """
    test_src = 'data:image/gif;base64,R0lGODlhSwBLAMQAAO3t7dvb2+Tk5MjIyLu7u/Hx8fr6+tHR0c3Nzb+/v8TExNbW1t/f3/b29ujo6P///7a2tgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzJDOTQ1Mjk0RTU3MTFFMzgzNTZBMEMyNzU1OUNBRjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzJDOTQ1MkE0RTU3MTFFMzgzNTZBMEMyNzU1OUNBRjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozMkM5NDUyNzRFNTcxMUUzODM1NkEwQzI3NTU5Q0FGNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozMkM5NDUyODRFNTcxMUUzODM1NkEwQzI3NTU5Q0FGNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAAAAAAALAAAAABLAEsAAAX/ICSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8gkYbBgAACPqHQqfQoCB0WylDgIGtSweAxgIBOMwnjNphYJB3V73h4SAga6fg0I3vN7gWF9PwiAgohSZj0EUImPUQE9A4eQiQg8C5abAzsCm5sJOp+gVU+nT3U5pJAAAQhaK0sIAQ5yBjkHkA6YNgQIBzgKjwKiWylygQXGxygBiALNKgmVdIvSKKx60dgoBIINBN0omoGd4yfJdAXoJwmCwe0luoHi8iTac+z3JI7b/CQESQIoQtACggXNIYQAb6FAh4G4EQS30J+ecwAZCCIEEAGiXvwIVJtjIBa/fHRKhwIclujgyUcN4rWjBsmAAAT2XiQYUMvBjnKbGpQJEGCA0QG0iAoAoO4Bx1WlHg3c0TQqnak6CFS1ykYmD5Rcx2DssWBkWCpjeySweJZKTiAHwLR1UyTO3Ci4jihgIDfsU70B2Foq4FKaAloOAPRlU+BJgAUD3i6cTLmy5cuYM2vezLmz5xohAAA7'
    if src is None:
        src = test_src
    data = src.split('base64,')[-1]
    print(data)
    mime = src.split('data:image/')[-1].split(';base64')[0]
    image_data = base64.b64decode(data)

    file_name = md5_value(data)
    print(file_name)

    # file_name = '111'
    file_path = r'D:images{}.{}'.format(file_name, mime)
    with open(file_path, 'wb') as f:
        f.write(image_data)


if __name__ == '__main__':
    convert_base64_src_to_img_file()

以上。

原文地址:https://www.cnblogs.com/lovebkj/p/13758946.html