FE/Trouble Shooting 2022. 12. 5.

[ERROR] illegal base64 data at input byte 4

 

에러 코드

 

"illegal base64 data at input byte 4"

 

 

 

에러 원인

 

백엔드 (GO)에서 지정한 규칙 (타입, 형식 등)을 벗어난 값을 프론트에서 보내서 생기는 에러입니다.

 

저 같은 경우에는 base64 형식에 맞는 값을 보내야 했으나,

base64형식에 맞지 않은 값을 보내고 있어서 발생한 에러였습니다.

 

 

 

백엔드에서 요구하는 값 예시 )

"iVBORw0KGgoAAAANSUhEUgAAAFoAAABXCAYAAACENlLc.....=="

 

실제로 제가 보내고 있던 값 )

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoA.....=="

 

 

헤헤... 좀 부끄럽네요 😅

FileReader의 result를 split하지 않고 통째로 가져다 써서 생긴 문제였습니다...

조만간 FileReader에 대해서도 한번 공부해야겠네요!

 

 

 

 

 

해결 방법

 

백엔드에서 요구하는 형식 ( 여기선 base64 )에 맞도록 수정하여 값을 보내주었습니다.

 

// FILE = 기존에 형식에 맞지 않던 값. 형식에 맞도록 가공.
nextValue = FILE.split(",")[1];

 

 

 

 

 

오늘도 문제 해결 👍🏻