반응형
[Javascript] base64 이미지 업로드 _ base64 to File 객체
base64 이미지 파일을 부득이하게 활용하게 되는 경우가 있다.
또는 quill js editor 사용 시 ql-image 파일이 base64로 나오게 된다.
이 때 백엔드 단에서 base64를 디코딩할지, 자바스크립트 단에서 처리할지 고민하게 된다.
base64를 자바스크립트 File 객체로 변환하여 처리하면 편하다.
■ base64 이미지 -> File 객체로 변환하는 함수
function base64toFile(base_data, filename) {
var arr = base_data.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
}
■ 활용
var file = base64toFile(base64, 'image_file.png'); // 함수를 호출하여 사용
base64toFile 함수에 base64 코드와 임시 파일 명을 넘기면
file 이라는 변수에는 base64가 File객체가 저장된다.
var file = base64toFile(base64, 'image_file.png');
var form_data = new FormData();
form_data.append("file", file);
base64를 File객체로 변환해서 백엔드단에서 편하게 처리할 수 있다.
반응형
'웹 개발' 카테고리의 다른 글
[javascript] 동기 Ajax 로딩바_ ajax synchronous progressbar (0) | 2022.07.18 |
---|---|
[CORS] 로컬 통신간의 CORS 해결 및 Cross-Origin Resource Sharing은 무엇일까? (0) | 2022.05.17 |
[네이버 지도 api (4)] 주소를 검색해서 지도 이동하기 Geocoding 좌표변환 (14) | 2022.04.27 |
sessionStorage vs 전역변수 & Ajax 동기 통신 (0) | 2022.04.26 |
[datatable] <tr>, <td>에 속성/스타일 추가하기 (0) | 2022.04.13 |
댓글