Maison >interface Web >js tutoriel >Comment modifier par programme FileList et FormData pour les téléchargements de fichiers ?

Comment modifier par programme FileList et FormData pour les téléchargements de fichiers ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 19:40:10802parcourir

How to Programmatically Modify FileList and FormData for File Uploads?

Comment modifier FileList et FormData avec des fichiers spécifiés

Définition de la propriété .files d'un avec une FileList provenant d'un autre élément ou DataTransfer.files vous permet de spécifier les fichiers à télécharger. Cependant, cette approche présente des défis :

  • La propriété .files.length reste à 0.
  • L'objet File passé à FormData() a un .size de 0.

Solution utilisant DataTransfer

Le constructeur DataTransfer crée un fichier mutable FileList accessible via DataTransferItemList. Pour définir des fichiers arbitraires sur une FileList, vous pouvez utiliser l'approche suivante :

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

Ici, dT est un nouvel objet DataTransfer et inp est votre élément d'entrée. Cette technique vous permet de définir des fichiers spécifiques, de mettre à jour la propriété .length de FileList et de garantir que les fichiers sont reflétés dans l'objet FormData.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn