FormData 클래스를 이용하면 html의 form 태그를 이용하여 보내는 데이터를 JavaScript에서 다룰 수 있다.
보통의 경우 JSON 구조로 데이터를 전송하므로 사용할 일이 많지는 않지만,
FormData를 이용하여 파일을 서버에 보낼 수 있다.
const formData = new FormData(); // FormData 객체 선언
formData.append('key', value); // key: value 형식으로 append 가능
기본 사용법은 위와 같다.
const imgInput = useRef(null); // Ref 선언
...
<input type="file" ref={imgInput} /> // Ref 할당
위처럼 input에 Ref를 연결해주고
const postImg = async () => {
const formData = new FormData();
formData.append('photo', imgInput.current.files[0]);
axios.post('/url', formData, {
headers: { 'Content-Type': 'multipart/form-data' },
});
}
axios로 post 시, config에 header 설정을 위와 같이 넘겨준다.
[monorepo] pnpm workspace monorepo 모노레포 구축기 (official gsm) (0) | 2023.07.06 |
---|---|
[TypeScript] vscode-styled-components 작동 안 될시 (0) | 2023.03.29 |
[yarn berry + husky] chalk 관련 에러 해결 (0) | 2023.03.10 |
[TypeScript] npm 라이브러리 배포하기 (0) | 2023.01.20 |
[Next.js + TypeScript] emotion 적용 방법 (0) | 2023.01.19 |
댓글 영역