ホームページ > ウェブフロントエンド > jsチュートリアル > FormData オブジェクト内のファイル オブジェクトと FileList の長さを変更するにはどうすればよいですか?

FormData オブジェクト内のファイル オブジェクトと FileList の長さを変更するにはどうすればよいですか?

DDD
リリース: 2024-12-01 01:50:09
オリジナル
280 人が閲覧しました

How Can I Modify File Objects and FileList Length within a FormData Object?

FormData オブジェクト内のファイル オブジェクトと FileList の長さの変更

質問:

内の File オブジェクトを変更するにはどうすればよいですか? FileList を作成し、その長さを設定して、ファイルが FormData に反映されるようにします。オブジェクト?

答え:

DataTransfer の使用

元の投稿者 (OP) によって発見されたように、DataTransfer API は以下を提供します。現在の制限にもかかわらず、このタスクを達成するためのメソッド (Blink、FF >= でのみサポート) 62)。 DataTransferItemList を通じて変更可能な FileList を作成することで、HTML ファイル入力要素の FileList に任意のファイルを設定できます。


< ;pre>// 新しい DataTransfer オブジェクトを作成します
const dT = new DataTransfer();

// File オブジェクトを DataTransferItemList に追加します
dT.items.add(new File(['foo'], 'programmatically_created.txt'));

// input 要素の files プロパティを DataTransfer オブジェクトの files
inp.files = に設定します。 dT.files;

<input type="file">

このアプローチは、ファイル入力要素内の FileList を効果的に変更し、更新されたファイルが FormData に反映されます。 object.

制限事項:

この手法は現在、ブラウザーでのサポートが制限されていることに注意することが重要です。さらに、DataTransfer コンストラクターをサポートしていないブラウザーでは、いくつかのフォールバック動作が必要になる場合があります。

以上がFormData オブジェクト内のファイル オブジェクトと FileList の長さを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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