본문 바로가기
React

파일 업로드에 사용할 라이브러리

by invelog 2024. 4. 4.
반응형

기존에 다른 프로젝트에서 Dropzone 라이브러리를 사용했었다. 

Dropzone도 해당 라이브러리만의 특이한 점들이 있어서 공부하고 쓰느라 조금 애먹었는데 

지금 진행중인 프로젝트에서는 이 참에 다른것도 써보자는 생각에 react-drag-and-drop-files 를 써보기로 했었다. 

라이브러리명만 보더라도 리액트에서 사용될 목적으로 만들어졌을거라 생각이 들기도 해서 여러모로 호환성이 좋겠지 생각했다. 

또 다른 이유는 기존의 input 태그 마냥 첨부하는 방식이 아니라 꼭 drag & drop으로 파일을 첨부하는 기능이 필요했다. 

 

근데 사용해보니까 이 라이브러리 상당히 불친절한거 같다.

drop 하기전에 최초에 표시할 문구 정도만 속성으로 설정할 수 있고 drop 하고 난뒤 상태에 따른 Text 등은 모두 지원하지 않아 클래스로 요소를 찾아 일일히 기존의 문구를 삭제하고 새로운 Text를 추가하는 방식으로 해야했고 (여기서부터 좀 불편해지기 시작)

 

예외처리와 관련해서도 size나 파일 type이 안맞을 경우에 나는 적어도 에러코드라도, 그리고 에러 발생 시에 띄워줄 Text 속성이라도 있으면 좋겠다 생각했는데 그냥 에러도 Text로 '사이즈가 너무 커요', '타입 안맞아요' 이런식으로 딸랑 던지더라

 

예외처리도 저렇게 일일히 해주다보니 놓치는 부분이 생기고 스트레스 테스트 했을 시에는 여기저기 터지더라

하나하나 잡고 잡다가 '아. 지금 뭐하는거지? 그냥 잘 되어 있는 라이브러리를 쓰고 말지' 라는 생각에 그냥 Dropzone으로 다시 바꾸기로.

 

라이브러리들은 모두 내가 직접 구현할 수도 있지만 편하고 좀더 견고한 것을 사용하고자 쓰는건데 

이번에는 아니였다. 저 라이브러리는 이제 안써!

나도 직접 만들어보는 기회도 가져보면 좋을 것 같다. 기회가 되는대로 나도 한번 만들어보기로!

반응형