const inputImageRef = useRef<HTMLInputElement>(null);
const [previewImageUrl, setPreviewImageUrl] = useState<string>('');
const selectFile = (e: React.ChangeEvent<HTMLInputElement>) => {
const file = e.target.files?.[0];
if (!file) {
return;
}
const reader = new FileReader();
reader.onload = (e) => {
const dataUrl = e.target?.result;
if (typeof dataUrl !== 'string') {
return;
}
setPreviewImageUrl(dataUrl);
};
reader.readAsDataURL(file);
};
return (
<div>
<div>
<button
onClick={handeInputImageClick}
>
파일 업로드
</button>
<input
id="file"
ref={inputImageRef}
type="file"
accept="image/*"
style={{ display: 'none' }}
onChange={selectFile}
/>
<Image
src={
selectedImageUrl
? selectedImageUrl
: '기본 이미지 주소'
}
alt="이미지"
width={610}
height={610}
/>
</div>
</div>
);