이번에는 툴바 관련 로직을 보완하고 이미지 업로드 기능을 일부 구현했습니다!
헤더 스타일에도 사용자 경험상 토글로 적용되는 것이 익숙하여 추가했습니다.
기존
변경
block 일 때
caret 일 때
서버 API가 없어서 일단 local에서 동작하도록 구현
htnl input 태그를 사용해서 OS의 file dialog를 이용
일반적으로 input 태그는 아래와 같이 사용됩니다.
주로 사용자에게서 텍스트 입력을 받는 수단으로 사용되는데,
사실은 그 외에도 type attribute를 통해 다양한 수단으로 활용할 수 있습니다.
저는 input 태그에 file 타입을 주어 파일 다이얼로그를 열 수 있도록 하였습니다.
JS로 파일을 업로드하는 여러 방법을 찾아봤는데 예제가 이거밖에 없더라구요.
아마 가장 간단하고 쉬운방법인 거 같습니다.
참고 링크 : HTML input
구현된 input 태그
click 핸들러
file dialog에서 넘어온 값 활용
change handler 내부
마크다운의 이미지 문법으로 url과 함께 추가합니다.
위, 아래, 가운데 정렬을 해줬습니다!
특정 객체를 가리키는 URL을 생성합니다.
createObjectURL()을 매번 호출할 때마다 새로운 객체 URL을 생성함
생성한 url이 필요 없어졌다면 명시적으로 URL.revokeObjectURL()을 사용해서 해제해주는 것이 좋음 (만약 그렇지 않을 경우 document가 사라지기 전까지 계속 남아있음)
메모리 누수 가능성이 있어 Service Worker에서는 사용 불가, Web Worker에서는 사용 가능!
참고 링크 : web worker vs service worker