😄

[メモ]: FormDataで配列を渡したい

に公開

FormDataで配列を渡したい

FormDataに配列を渡す方法を忘れる→調べる→思い出すの繰り返しだったためメモで残す

コード

  • keyにkey + []としてfor文でデータを追加する
  • formDataからデータを取得するときはgetAllを使用する
// 送る側(フロントエンド等)
const formData = new FormData();

for (const name of names) {
  formData.append("names[]", name);
}

// fileの場合
for (const file of files) {
  formData.append("files[]", file, file.webkitRelativePath);
}
// 受け取る側(API等)
// 今回はRoute Handler

export async function POST(reqest: NextRequest): Promise<NextResponse> {
  const formData = await reqest.formData();
  const files = formData.getAll("files[]");

  const res = NextResponse.json({
    //
  });

  return res;
}

最後に

間違っていることあればコメントに書いていただけると幸いです。
よろしくお願いいたします。

GitHubで編集を提案

Discussion