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

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

Linda Hamilton
リリース: 2024-12-13 07:03:11
オリジナル
887 人が閲覧しました

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

FormData でのファイル オブジェクトと FileList プロパティの編集

質問:

ファイル オブジェクトを編集し、ファイル内の FileList の長さプロパティを調整するにはどうすればよいですか? FormData オブジェクト?

Background:

通常、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 サイトの他の関連記事を参照してください。

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