質問:
内の File オブジェクトを変更するにはどうすればよいですか? FileList を作成し、その長さを設定して、ファイルが FormData に反映されるようにします。オブジェクト?
答え:
DataTransfer の使用
元の投稿者 (OP) によって発見されたように、DataTransfer API は以下を提供します。現在の制限にもかかわらず、このタスクを達成するためのメソッド (Blink、FF >= でのみサポート) 62)。 DataTransferItemList を通じて変更可能な FileList を作成することで、HTML ファイル入力要素の FileList に任意のファイルを設定できます。
// 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 サイトの他の関連記事を参照してください。