base64 到映像,损坏映像



我有这个代码:

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, 标头?如果我不删除它,我也会收到填充错误。您尝试过的在线工具可能会检查此常见语法,并在解码前自动将其删除。

最新更新