- ガイド
- Form App
ファイルアップロード
Table of contents
Form Appで作ったフォームにファイルアップロード機能を実装することができます。
form要素に enctype="multipart/form-data"
を追加したら準備完了です。
ファイルを1件アップロードする![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGlua19ibGFja18yNGRwPC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJsaW5rX2JsYWNrXzI0ZHAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgMTIuMDAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMi4wMDAwMDAsIC0xMi4wMDAwMDApIHRyYW5zbGF0ZSgyLjAwMDAwMCwgNy4wMDAwMDApIiBmaWxsPSIjMzMzMzMzIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMy4zNzE5MTAyOGUtMTUgTDExLDMuMzcxOTEwMjhlLTE1IEwxMSwyIEwxNSwyIEMxNi42NSwyIDE4LDMuMzUgMTgsNSBDMTgsNi42NSAxNi42NSw4IDE1LDggTDExLDggTDExLDEwIEwxNSwxMCBDMTcuNzYsMTAgMjAsNy43NiAyMCw1IEMyMCwyLjI0IDE3Ljc2LDMuMzcxOTEwMjhlLTE1IDE1LDMuMzcxOTEwMjhlLTE1IFogTTksOCBMNSw4IEMzLjM1LDggMiw2LjY1IDIsNSBDMiwzLjM1IDMuMzUsMiA1LDIgTDksMiBMOSwzLjM3MTkxMDI4ZS0xNSBMNSwzLjM3MTkxMDI4ZS0xNSBDMi4yNCwzLjM3MTkxMDI4ZS0xNSAtMS41ODU3OTc0MmUtMTQsMi4yNCAtMS41ODU3OTc0MmUtMTQsNSBDLTEuNTg1Nzk3NDJlLTE0LDcuNzYgMi4yNCwxMCA1LDEwIEw5LDEwIEw5LDggWiBNNiw0IEwxNCw0IEwxNCw2IEw2LDYgTDYsNCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)
input要素に type=file を設定することで、ファイルを選択してアップロードすることができます。
<form method="post" action="https://{spaceUid}.form.newt.so/v1/{formUid}" enctype="multipart/form-data">
<input type="text" name="name">
<input type="email" name="email">
<input type="file" name="attachment">
<button type="submit">Submit</button>
</form>
ファイルを複数件アップロードする![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGlua19ibGFja18yNGRwPC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJsaW5rX2JsYWNrXzI0ZHAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgMTIuMDAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMi4wMDAwMDAsIC0xMi4wMDAwMDApIHRyYW5zbGF0ZSgyLjAwMDAwMCwgNy4wMDAwMDApIiBmaWxsPSIjMzMzMzMzIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMy4zNzE5MTAyOGUtMTUgTDExLDMuMzcxOTEwMjhlLTE1IEwxMSwyIEwxNSwyIEMxNi42NSwyIDE4LDMuMzUgMTgsNSBDMTgsNi42NSAxNi42NSw4IDE1LDggTDExLDggTDExLDEwIEwxNSwxMCBDMTcuNzYsMTAgMjAsNy43NiAyMCw1IEMyMCwyLjI0IDE3Ljc2LDMuMzcxOTEwMjhlLTE1IDE1LDMuMzcxOTEwMjhlLTE1IFogTTksOCBMNSw4IEMzLjM1LDggMiw2LjY1IDIsNSBDMiwzLjM1IDMuMzUsMiA1LDIgTDksMiBMOSwzLjM3MTkxMDI4ZS0xNSBMNSwzLjM3MTkxMDI4ZS0xNSBDMi4yNCwzLjM3MTkxMDI4ZS0xNSAtMS41ODU3OTc0MmUtMTQsMi4yNCAtMS41ODU3OTc0MmUtMTQsNSBDLTEuNTg1Nzk3NDJlLTE0LDcuNzYgMi4yNCwxMCA1LDEwIEw5LDEwIEw5LDggWiBNNiw0IEwxNCw0IEwxNCw2IEw2LDYgTDYsNCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)
1つのフィールドに対して複数件のファイルをアップロードしたい場合、 name="attachments[]" のように末尾に[]を加えることで、複数ファイルを配列データとして送信することができます。
input要素を複数設置する![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGlua19ibGFja18yNGRwPC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJsaW5rX2JsYWNrXzI0ZHAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgMTIuMDAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMi4wMDAwMDAsIC0xMi4wMDAwMDApIHRyYW5zbGF0ZSgyLjAwMDAwMCwgNy4wMDAwMDApIiBmaWxsPSIjMzMzMzMzIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMy4zNzE5MTAyOGUtMTUgTDExLDMuMzcxOTEwMjhlLTE1IEwxMSwyIEwxNSwyIEMxNi42NSwyIDE4LDMuMzUgMTgsNSBDMTgsNi42NSAxNi42NSw4IDE1LDggTDExLDggTDExLDEwIEwxNSwxMCBDMTcuNzYsMTAgMjAsNy43NiAyMCw1IEMyMCwyLjI0IDE3Ljc2LDMuMzcxOTEwMjhlLTE1IDE1LDMuMzcxOTEwMjhlLTE1IFogTTksOCBMNSw4IEMzLjM1LDggMiw2LjY1IDIsNSBDMiwzLjM1IDMuMzUsMiA1LDIgTDksMiBMOSwzLjM3MTkxMDI4ZS0xNSBMNSwzLjM3MTkxMDI4ZS0xNSBDMi4yNCwzLjM3MTkxMDI4ZS0xNSAtMS41ODU3OTc0MmUtMTQsMi4yNCAtMS41ODU3OTc0MmUtMTQsNSBDLTEuNTg1Nzk3NDJlLTE0LDcuNzYgMi4yNCwxMCA1LDEwIEw5LDEwIEw5LDggWiBNNiw0IEwxNCw0IEwxNCw2IEw2LDYgTDYsNCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)
送信したいファイル数があらかじめ決まっている場合は、input要素を決められたファイル数分だけ設置することで複数ファイルを配列データとして送信できます。
<form method="post" action="https://{spaceUid}.form.newt.so/v1/{formUid}" enctype="multipart/form-data">
<input type="text" name="name">
<input type="email" name="email">
<input type="file" name="attachments[]">
<input type="file" name="attachments[]">
<button type="submit">Submit</button>
</form>
multiple属性を用いた複数ファイルアップロード![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGlua19ibGFja18yNGRwPC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJsaW5rX2JsYWNrXzI0ZHAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgMTIuMDAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMi4wMDAwMDAsIC0xMi4wMDAwMDApIHRyYW5zbGF0ZSgyLjAwMDAwMCwgNy4wMDAwMDApIiBmaWxsPSIjMzMzMzMzIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMy4zNzE5MTAyOGUtMTUgTDExLDMuMzcxOTEwMjhlLTE1IEwxMSwyIEwxNSwyIEMxNi42NSwyIDE4LDMuMzUgMTgsNSBDMTgsNi42NSAxNi42NSw4IDE1LDggTDExLDggTDExLDEwIEwxNSwxMCBDMTcuNzYsMTAgMjAsNy43NiAyMCw1IEMyMCwyLjI0IDE3Ljc2LDMuMzcxOTEwMjhlLTE1IDE1LDMuMzcxOTEwMjhlLTE1IFogTTksOCBMNSw4IEMzLjM1LDggMiw2LjY1IDIsNSBDMiwzLjM1IDMuMzUsMiA1LDIgTDksMiBMOSwzLjM3MTkxMDI4ZS0xNSBMNSwzLjM3MTkxMDI4ZS0xNSBDMi4yNCwzLjM3MTkxMDI4ZS0xNSAtMS41ODU3OTc0MmUtMTQsMi4yNCAtMS41ODU3OTc0MmUtMTQsNSBDLTEuNTg1Nzk3NDJlLTE0LDcuNzYgMi4yNCwxMCA1LDEwIEw5LDEwIEw5LDggWiBNNiw0IEwxNCw0IEwxNCw2IEw2LDYgTDYsNCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)
input要素のmultiple属性を利用することで、1つのinput要素に対して複数ファイルを選択することができます。
<form method="post" action="https://{spaceUid}.form.newt.so/v1/{formUid}" enctype="multipart/form-data">
<input type="text" name="name">
<input type="email" name="email">
<input type="file" name="attachments[]" multiple>
<button type="submit">Submit</button>
</form>
ファイルサイズ制限![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGlua19ibGFja18yNGRwPC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJsaW5rX2JsYWNrXzI0ZHAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgMTIuMDAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMi4wMDAwMDAsIC0xMi4wMDAwMDApIHRyYW5zbGF0ZSgyLjAwMDAwMCwgNy4wMDAwMDApIiBmaWxsPSIjMzMzMzMzIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMy4zNzE5MTAyOGUtMTUgTDExLDMuMzcxOTEwMjhlLTE1IEwxMSwyIEwxNSwyIEMxNi42NSwyIDE4LDMuMzUgMTgsNSBDMTgsNi42NSAxNi42NSw4IDE1LDggTDExLDggTDExLDEwIEwxNSwxMCBDMTcuNzYsMTAgMjAsNy43NiAyMCw1IEMyMCwyLjI0IDE3Ljc2LDMuMzcxOTEwMjhlLTE1IDE1LDMuMzcxOTEwMjhlLTE1IFogTTksOCBMNSw4IEMzLjM1LDggMiw2LjY1IDIsNSBDMiwzLjM1IDMuMzUsMiA1LDIgTDksMiBMOSwzLjM3MTkxMDI4ZS0xNSBMNSwzLjM3MTkxMDI4ZS0xNSBDMi4yNCwzLjM3MTkxMDI4ZS0xNSAtMS41ODU3OTc0MmUtMTQsMi4yNCAtMS41ODU3OTc0MmUtMTQsNSBDLTEuNTg1Nzk3NDJlLTE0LDcuNzYgMi4yNCwxMCA1LDEwIEw5LDEwIEw5LDggWiBNNiw0IEwxNCw0IEwxNCw2IEw2LDYgTDYsNCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==)
Form Appでは、送信可能なファイル1件あたりのサイズに上限を設けています。
Entryプラン | Basicプラン | Advancedプラン | |
---|---|---|---|
1件あたりのファイルサイズ | 5MB | 25MB | 25MB |