ホームページ >ウェブフロントエンド >jsチュートリアル >FormData 内でファイル オブジェクトと FileList の長さを変更するにはどうすればよいですか?
ファイル オブジェクトを編集し、ファイル内の FileList の長さプロパティを調整するにはどうすればよいですか? FormData オブジェクト?
通常、FileList オブジェクトSymbol.iterator プロパティがあるため、反復可能なオブジェクトをファイル タイプとして設定できます。ただし、ファイルの .length プロパティは 0 のままです。
要旨の OP で示されているように、最近のブレークスルーが出現しました。 DataTransfer コンストラクターを利用すると、DataTransferItemList 経由でアクセスできる変更可能な FileList を作成できます。
Blink ブラウザーおよび Firefox バージョン 62 以降では、DataTransfer コンストラクターは変更可能な FileList を作成できます。 Firefox 62 より前では、ClipboardEvent の実装のバグにより回避策が提供されていました。
これを実現する方法の例は次のとおりです:
const dT = new DataTransfer(); dT.items.add(new File(['foo'], 'programmatically_created.txt')); inp.files = dT.files;
<input type="file">
このアプローチは、ファイル オブジェクトを効果的に変更し、FileList の長さプロパティを正しく設定して、それらを FormData に反映できるようにします。オブジェクト。
以上がFormData 内でファイル オブジェクトと FileList の長さを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。