エラー “java.lang.IllegalArgumentException: Illegal base64 character 3a” が出た時の対処法

技術メモ

バックエンド(Java)でフロントエンドから受け取ったbase64文字列のデコードを試みました。

//変数imgBase64はbase64文字列を格納
byte[] imgBytes = Base64.getDecoder().decode(imgBase64.getBytes());

ところが以下のエラーが発生しました。

java.lang.IllegalArgumentException: Illegal base64 character 3a

base64デコード処理の前に、ヘッダー部(data:image/jpeg;base64,の部分)を削除する必要がありました。

以下のように修正することで、解決しました。

byte[] imgBytes = Base64.getDecoder().decode(imgBase64.split(",")[1]);

コメント

タイトルとURLをコピーしました