NextJS
[Nextjs] fromdata 데이터 가져오기 / cause: Error: Multipart: Boundary not found
goongam
2023. 5. 17. 23:16
Nextjs에서 post로 보낸 api reqest에서 from-data 형식으로 데이터 가져오는방법
export async function POST(req: Request) {
let formData = await req.formData();
}
cause: Error: Multipart: Boundary not found 에러 해결 방법
const onSubmit = async (event: FormEvent<HTMLFormElement>) => {
event.preventDefault();
const f = new FormData();
f.append("image", image);
const response = await fetch("/api/new", {
method: "POST",
headers: {
"Content-Type": "multipart/form-data",
},
body: f,
});
};
...
return (
<form
onSubmit={onSubmit}
>
<input type="file" onChange={handleFileChange} />
<input type="submit" value={"Publish"} />
</form>
)
위와 같이 form태그에서 이벤트를 event.preventDefalut()로 막고
form-data형식으로 보낸 후
export async function POST(req: Request, res: NextResponse) {
let formData = await req.formData();
let body = Object.fromEntries(formData);
console.log(body);
return new Response("Hello, Next.js!");
}
api에서 formData()로 받아오면
cause: Error: Multipart: Boundary not found에러가 발생
해결방법
<form
onSubmit={onSubmit}
encType="multipart/form-data"
>
1. form 태그에 encType="multipart/form-data"을 추가하고
2. 헤더의
// headers: {
// "Content-Type": "multipart/form-data",
// },
를 비활성화 하자.
