const [file, setFile] = useState();
const [fileName, setFileName] = useState("");
const saveFile = (e) => {
setFile(e.target.files[0]);
setFileName(e.target.files[0].name);
};
const uploadFile = async (e) => {
const formData = new FormData();
formData.append("file", file);
formData.append("fileName", fileName);
try {
const res = await axios.post(
"http://localhost:3002/upload", formData
);
console.log(res);
} catch (ex) {
console.log(ex);
}
};
const handleCapture = (target) => {
if (target.files) {
if (target.files.length !== 0) {
const file = target.files[0];
const newUrl = URL.createObjectURL(file);
setSource(newUrl);
}
}
};
<hr />
<div className="upload">
<input
accept="image/*;capture=camera"
className={classes.input}
id="icon-button-file camera"
type="file"
// capture="user"
onChange={(e) => handleCapture(e.target)
}
// onChange={saveFile}"
/>
<button onClick={uploadFile}>Upload</button>
</div>
이미지 업로드 및 미리보기를 만들고 있습니다. onChange를 두 번 쓰는 방법이 있을까요??
밑에 코드는 각 각쓸때 원하는 기능이 발휘되는데 동시에는 못쓰겠습니다 ㅠㅠ
handlecapture 는 미리보기이고, saveFile은 업로드전 저장입니다.;
onChange={(e) => handleCapture(e.target)
}
// onChange={saveFile}"