-
[Javascript] 파일 업로드와 프리뷰 구현하기Frontend/Javascript 2022. 2. 25. 14:41
자바스크립트로 이미지 파일을 업로드하고 프리뷰를 보는 방법에 대해 알아보자.
input 태그 사용하여 이미지 파일 업로드 하기
<input id="file-upload" name="file-upload" type="file" accept="image/*" onChange={onFileChange} />
input 이벤트에 파일을 담아온다.
const [filePreview, setFilePreview] = useState(""); const onFileChange = (e) => { const { target: { files }, } = e; const imgFile = files[0]; const url = URL.createObjectURL(imgFile); setFilePreview(url); };
- 이미지 하나만 올리기 때문에 첫번째 이미지를 선택한다.
- URL.createObjectURL() 이미지 blob 객체를 url로 바꿔주는 역할을 한다. 이를 setFilePreview에 넣는다.
프리뷰 보여주기
{filePreview ? ( <> <FileBg> <BiCamera style={{ color: "#fff", fontSize: "30px", width: "100%" }} /> <FileText>눌러서 파일 변경</FileText> </FileBg> <Img src={filePreview} alt="uploadImage" /> </> ) : ( <SpanWrapper> <BiPlus style={{ fontSize: "40px", color: "#868e96" }} /> <Span>눌러서 파일 등록</Span> </SpanWrapper> )}
- setFilePreview에 이미지 링크가 있는지, 없는지에 따라 이미지 프리뷰나 기본 업로드 화면을 보여줄 수 있다.
반응형'Frontend > Javascript' 카테고리의 다른 글
[Javascript] Object vs. Map (0) 2022.04.16 [Javascript] 고차함수(Higher-Order Function)에 대하여 (0) 2022.04.05 [Javascript] Named Export와 Default Export에 대해 알아보자 (0) 2022.04.01 [webpack] 웹팩의 개념과 활용 (1) 2022.03.04 [Javascript] 유사배열을 배열로 바꾸기 (0) 2022.02.22