ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript Fetch API を使用してファイルをサーバーに送信するにはどうすればよいですか?

JavaScript Fetch API を使用してファイルをサーバーに送信するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-30 09:05:11
オリジナル
218 人が閲覧しました

How to Send Files to a Server Using the JavaScript Fetch API?

JS フェッチ API を使用してファイルをアップロードする方法

フェッチ API を介したファイルのアップロードは、Web アプリケーションからサーバーにデータを送信するための貴重な手法です。開発者として、ファイルのアップロードを効果的に処理するプロセスを理解することが不可欠です。

ユーザーがファイルを選択できる入力フィールドがあるシナリオを考えてみましょう。

<input type="file">
ログイン後にコピー

送信時ファイル入力を含むフォームの場合は、 fetch() を使用してファイルをサーバーに送信する必要があります。ただし、このタスクではリクエスト本文の構造に細心の注意を払う必要があります。

fetch('/files', {
  method: 'POST',
  // What goes here? How do we construct the body?
})
ログイン後にコピー

リクエストの本文を構築するには、FormData インターフェイスを利用します。このインターフェイスを使用すると、ファイル オブジェクトを含めることができるキーと値のペアのコレクションを作成できます。

const formData = new FormData();
formData.append('file', input.files[0]);
ログイン後にコピー

上記のコードでは、append メソッドを使用して、選択したファイルを FormData オブジェクトに追加します。最初の引数はキーを表し、2 番目の引数はファイル入力から取得されたファイル オブジェクトです。

さらに、必要に応じて FormData オブジェクトに他のキーと値のペアを含めることができます。たとえば、ユーザー データを追加できます。

formData.append('user', 'hubot');
ログイン後にコピー

FormData オブジェクトの準備ができたら、最終的に次のようにフェッチ リクエストを作成できます。

fetch('/avatars', {
  method: 'POST',
  body: formData
})
ログイン後にコピー

このリクエストは選択されたファイルを送信します。 FormData オブジェクト内の追加データはサーバー上の「/avatars」エンドポイントに送信されます。その後、サーバーは必要に応じてファイルを処理できます。

以上がJavaScript Fetch API を使用してファイルをサーバーに送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート