[axios] 객체를 multipart/form-data으로 보내기

2023. 9. 19. 10:17
반응형

 

axios put 요청을 보낼 때, Blob객체를 생성하여 JSON.stringify로 감싸 보내주었다.

이 Blob객체의 타입은 application/json으로 지정하고,

axios config의 context-type은 multipart/form-data 로 지정했다.

 

const payload = {
    name: '김네임',
    businessNumber: '041648',
    address: '서울특별시',
    country: 'Korea',
};

...

export const putCompany = (payload: CompanyType) => {
  const formData = new FormData();
  formData.append(
    'request',
    new Blob([JSON.stringify(payload)], {
      type: 'application/json',
    }),
  );

  return defaultClient.put(`${BASE}`, formData, {
    headers: {
      'Content-Type': 'multipart/form-data',
    },
  });
};

 

 

참고한 정보

https://velog.io/@hsschoi/React-Axios-%ED%8C%8C%EC%9D%BC%EA%B3%BC-%EA%B0%9D%EC%B2%B4%EB%A5%BC-%EB%8F%99%EC%8B%9C%EC%97%90-%EC%84%9C%EB%B2%84%EC%97%90-%EC%A0%84%EC%86%A1%ED%95%98%EA%B8%B0-FormData

 

[React] Axios / 파일과 객체를 동시에 서버에 전송하기 / FormData

​​​​FormData는 Key, Value 로 이루어져있다.Key값을 지정해주고 Value에 Data를 넣어주면 된다.json 객체를 추가할 때에는​​formData에 객체를 추가할 때 JSON으로 파싱한 후, Blob객체를 생성하여 넣어

velog.io

 

 

반응형

BELATED ARTICLES

more