‘Incorrect padding’ エラー対処方法.Pythonでbase64を用いてdecode

Pythonでbase64を用いてdecodeする際に、非常に苦しみました。
Canvasの画像をbase64にして、POSTでデータ送信し後、base64を画像データにdecodeしようとした際にエラーが発生しました。

'Incorrect padding'

decodeする際には、下記のようにdecodeすればOKという記述も多々ありますが、

img_data = base64.b64decode(base64image)
img_data = base64.urlsafe_b64decode(base64image)

これでは、Incorrect paddingらしい…..
(原因はあまりわかっていないのだが、形式が違うのだろうと想い….)
stackflowで下記を見つけました。

https://stackoverflow.com/questions/2941995/python-ignore-incorrect-padding-error-when-base64-decoding

b64_string += "=" * ((4 - len(b64_string) % 4) % 4) #ugh

これを使ってみました。

base64image += "=" * ((4 - len(base64image) % 4) % 4)        
img_data = base64.urlsafe_b64decode(base64image)

これで、エラーが解消されました。

原因などは、正しく理解できていないので、ご利用は自己責任でお願いします!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です