ファイルのアップロード
利用可能なプラン: Personal、Professional、Business プラン
Formspree では、フォームにネイティブでファイルをアップロードできます。ファイルアップロード機能を使用することで、テキストベースの HTML 入力フィールドでは表現しにくい情報を収集することができます。
たとえば、フォームルーティングルールを使用してフォームを適切なチームに送信するサポートチケット用途に Formspree を使用している場合、ユーザーはスクリーンショットで問題を説明する方が楽かもしれません。これはファイルアップロードの最適な使用例です。
はじめに
すべての HTML フォームには、オーバーライドが必要なデフォルト属性 enctype があります。フォームの宣言内で enctype=multipart/form-data を設定する必要があります。
次に、ファイル入力フィールドを追加できます。このフィールドには、カスタマイズのためのオプションが多数あります。たとえば、PNG および JPEG 画像のみを受け入れる場合は、accept="image/png, image/jpeg" を追加できます。
ファイルアップロードを使用したフォームの例を以下に示します:
<form method="POST" action="https://formspree.io/FORM_ID" enctype="multipart/form-data">
<input type="email" name="email" placeholder="Your email">
<textarea name="message" placeholder="Details of your problem"></textarea>
<input type="file" name="attachment" accept="image/png, image/jpeg">
<button type="submit">Send Test</button>
</form>
ファイルへのアクセス
ファイルは Formspree ダッシュボードに含まれています。フォームの送信ページで各ファイルをダウンロードできます。各 Formspree アカウントには、ご利用のプランに基づいたアカウントクォータがあります。アカウントが使用している合計ストレージは、アカウント詳細ページで確認できます。

毎月ゼロにリセットされる送信クォータとは異なり、ストレージクォータはファイルがアップロードされた日時に関わらず、現在アカウントで使用されているストレージを考慮します。ストレージを解放するには、ファイルを手動で削除できます。
クォータに近づいた場合は、メールで警告が送信されます。制限を超えるファイルアップロードが行われた場合、最も古いファイルから順に削除されます。
アップロードオプション
multiple - この input 要素にこのオプションを追加すると、同じ入力で複数のファイルアップロードを受け入れることができます。
ワークフローバリデーション
バリデーションルールを追加して、許可するファイルタイプを定義し、バリデーションを「必須」にすることができます。フォームの Workflow タブで、「Validation」セクションの「+ Add New」をクリックし、「File」を選択します。そこでフィールド名を入力し、受け入れるファイルタイプを選択(またはファイルタイプの制限がない場合は空白のまま)し、「必須」としてマークすることができます。

制限事項
各送信では最大 10 個のファイルをアップロードでき、各ファイルのアップロードは 25 MB に制限されています。さらに、リクエストの合計サイズは 100 MB に制限されています。合計リクエストサイズには、リクエストヘッダーとリクエストボディの合計サイズが含まれます。すべてのリクエストは 30 秒以内に完了する必要があります。そうでない場合はタイムアウトエラーが発生します。ユーザーのインターネット速度によっては、アップロードできるファイルの合計サイズが制限される場合があります。
トラブルシューティング
送信ストレージを無効にしている場合、ファイルは保存されません。
一部の旧来の Formspree Gold および Platinum ユーザーはファイルアップロードにアクセスできません。プランページでプランを更新することで、ファイルアップロードやその他の機能にアクセスできるようになります。ページの上部に「You’re in a legacy plan」という通知が表示されている場合は、レガシープランをご利用中です。