我有这个代码:
with open("bla.png", "wb") as fh:
fh.write(image.decode('base64'))
而这个基地64:https://pastebin.com/MKjEdmubbase64 代码来自前端的画布。我已经验证了字符串是完全相同的前端和后端。
如果我尝试运行当前的base64代码,它说:Error: Incorrect padding
。我做了一些研究,结果发现它需要一定数量的字节才能正确转换,因此为什么它需要在字符串末尾=
。在这种情况下,它需要在字符串的末尾==
。当我这样做时,它可以很好地转换,但图像已损坏(不可读(。
当我使用在线转换器时,当前的base64工作正常。当我添加==
时,它在这些中也不起作用。
我还尝试使用 base64 库中的 decodestring
函数,但这给出了相同的错误。
对您的数据使用 str.decode('base64')
对我来说效果很好,您是否在开始时删除了 data:image/png;base64,
标头?如果我不删除它,我也会收到填充错误。您尝试过的在线工具可能会检查此常见语法,并在解码前自动将其删除。