Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- chrome
- Jenkins
- 코딩테스트
- 파이썬
- toml
- EC2
- kotlin
- docker
- React
- AWS
- nginx
- Next
- JavaScript
- 광고 id
- 개발
- TypeScript
- 오퍼월
- css
- NanoHttpd
- 오블완
- spring boots
- Android
- nuxt
- Express
- python
- react-native
- 백준
- 티스토리챌린지
- it
- 코테
Archives
- Today
- Total
내맘대로 개발일지
[NextJS] blob to base64 바꾸기 본문

📱테스트 환경
"react": "18.2.0"
"react-dom": "18.2.0"
"typescript": "^5.1.6"
😢 내가 겪은 문제
canvas 에서 이미지를 다시 새롭게 그리려고 하고있는데, cavas.drawImage 에 나는 blob 형식을 넣었는데
구글에 검색해서 이곳저곳 살펴보니 대부분 base64 를 넣더라 .. 이유는 잘 모르겠지만, 다 그렇게 하니까 나도 그렇게 해야겠다는
생각을 하게 돼었다.
그래서 일단 blob 를 base64 로 타입을 변환시켜야 하는데 그냥 이해하진 못해도 그대로 복사해서 붙여쓸 수 있도록 함수화 하였다.
생각보다 쓸일이 많지 않을까 싶어서 ... ㅎ
converBlobToBase64.tsx
export const convertBlobToBase64 = (blob: Blob): Promise<string> => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
// 파일을 읽는 동안 실행할 함수
reader.onload = function (event) {
if (event.target && event.target.result) {
// Blob을 Base64 문자열로 변환
const base64String = event.target.result.toString();
resolve(base64String); // 변환 성공 시 결과를 반환
} else {
reject(new Error("Blob to base64 conversion failed.")); // 변환 실패 시 에러를 반환
}
};
// 파일 읽기 중 오류가 발생한 경우 실행할 함수
reader.onerror = function (error) {
reject(error); // 오류 발생 시 에러를 반환
};
// Blob을 읽기 시작
reader.readAsDataURL(blob);
});
};
이거는 딱히 내가 뭐 바꿔서 사용하고 이럴 것도 없어서
따로 설명없이 주석에 열심히 메모해 보았다.
'Javascript > Next' 카테고리의 다른 글
| [JavaScript] Canvas 글자에 그림자 효과 (2) | 2023.10.26 |
|---|---|
| [NextJS] base64 Image ReSize (0) | 2023.09.01 |
| [NextJS] Mobile Web 에서 이메일 시스템 모달창 띄우기 (0) | 2023.08.30 |
| [NextJS] 모바일인지 PC 인지 구별하는 방법 (0) | 2023.08.30 |
| [NextJS] canvas 이용해서 썸네일 만들기 (5) | 2023.08.29 |