ホームページ >ウェブフロントエンド >jsチュートリアル >ファイルアップロード用に FileList と FormData をプログラムで変更する方法

ファイルアップロード用に FileList と FormData をプログラムで変更する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 19:40:10759ブラウズ

How to Programmatically Modify FileList and FormData for File Uploads?

指定したファイルで FileList と FormData を変更する方法

の .files プロパティを設定する別の の FileList 要素を持つ要素または DataTransfer.files を使用すると、アップロードするファイルを指定できます。ただし、このアプローチには課題があります。

  • .files.length プロパティは 0 のままです。
  • FormData() に渡される File オブジェクトの .size は 0.

DataTransfer を使用したソリューション

DataTransfer コンストラクターは、DataTransferItemList を通じてアクセスできる変更可能な FileList を作成します。 FileList に任意のファイルを設定するには、次の方法を使用できます。

const dT = new DataTransfer();
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
inp.files = dT.files;

ここで、dT は新しい DataTransfer オブジェクト、inp は入力要素です。この手法を使用すると、特定のファイルを設定し、FileList の .length プロパティを更新し、ファイルが FormData オブジェクトに確実に反映されるようにすることができます。

以上がファイルアップロード用に FileList と FormData をプログラムで変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。