AttributeError при кодировании изображения PNG в Base64 - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь закодировать изображение PNG в Base64, используя этот код:

for files in os.listdir("."):
if files.endswith(".png"):
    pngFile = open(files, 'rb')
    base64data = pngFile.read().encode('base64').replace('\n','')
    base64String = '<image xlink:href="data:image/png;base64,{0}" width="240" height="240" x="0" y="0" />'.format(base64data)

Но когда я его использую, выдает ошибку, говорящую:

AttributeError: 'bytes' object has no attribute 'encode'

Я пробовал многоиз решений, подобных этому: AttributeError: у объекта 'bytes' нет атрибута 'encode';Base64 кодирует PDF-файл , но просто выдает еще одну ошибку.Кстати, я использую Python 3

Ответы [ 2 ]

0 голосов
/ 07 августа 2018

Ну ... я не знаю, стоит ли пометить это как ответ, но я получил его на Python 2.7.Причина неизвестна.

0 голосов
/ 31 мая 2018

Попробуйте использовать библиотеку base64

import base64

with open(files, "rb") as image_file:
    base64data = base64.b64encode(image_file.read())
    base64String = '<image xlink:href="data:image/png;base64,{0}" width="240" height="240" x="0" y="0" />'.format(base64data)
...