Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- javascript코딩테스트
- useEffect
- useParams
- db.json
- 자바스크립트배포
- sort
- 카우치코딩
- react
- 자바스크립트
- javascript React
- Redux store
- 협업프로젝트
- 인라인블럭
- 콜백함수
- React onClick
- react redux
- toString
- JSON
- Redux
- React state
- 블럭요소
- line-through
- redux toolkit
- useSearchParams
- couchcoding
- redux 사용방법
- foreach
- first-child
- 6주포트폴리오
- JavaScript
Archives
- Today
- Total
개발하는 루루언니
리액트 : 이미지 업로드 미리보기 본문
728x90
반응형
🥰 리액트 프로젝트를 하면서 업로드 미리보기를 구현하고 싶었다.
유용하게 사용이 될 것 같아 간단한 사용법 과 어떻게 구현이 되는지 정리해 보려고 한다.
1. 파일을 업로드 하는 인풋 버튼을 만든다.
2. 파일을 선택하여 업로드 하는 경우 선언한 FileReader로 업로드한 file 객체를 readAsDataURL로 File 객체를 읽어 온다.
3. 업로드가 되면 ImageSrc에 파일의 콘텐츠가 저장이 된다. setImageSrc로 파일의 컨텐츠를 감싸준다.
4. ImageSrc를 이미지 태그로 Src로 줘서 이미지 경로를 갖고 올 수 있도록 props 설정을 한다.
import { useState } from "react";
const Preview = () => {
const [imageSrc, setImageSrc]: any = useState(null);
const onUpload = (e: any) => {
const file = e.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
return new Promise<void>((resolve) => {
reader.onload = () => {
setImageSrc(reader.result || null); // 파일의 컨텐츠
resolve();
};
});
}
return (
<input
accept="image/*"
multiple type="file"
onChange={e => onUpload(e)}
/>
<img
width={'100%'}
src={imageSrc}
/>
)
}
export default Preview;
🎈 완성화면
728x90
'컴퓨터 정보 > 리액트' 카테고리의 다른 글
React 폴더구조 (0) | 2023.06.02 |
---|---|
timeago.js 라이브러리를 이용해 몇시간전.. 구현하기 (0) | 2023.04.10 |
React : 커스텀 hook 을 사용해보자 :) (0) | 2023.04.03 |
React : ✅ token 을가져와 url로 로그인 해보기 (0) | 2023.03.17 |
Redux-toolkit 사용법 (0) | 2023.03.14 |