2010-08-16 3 views
2

Ma forme Web crée des contrôles de fichiers d'entrée dynamiquement en utilisant javascript:dans ASP.NET Télétransmission de fichiers

var input = document.createElement("input"); 
input.setAttribute("type", "file"); 
div.appendChild(input); 

Comment puis-je obtenir le « PostedFile » de ces contrôles sur le côté serveur?

Répondre

2

S'il publie dans le formulaire avec tout le reste, le contenu doit être dans la collection Request.Files.

+0

vous venez de battre @ Mark au coup de poing –

2

La collection Request.Files contiendra tous les fichiers qui ont été publiés.

1

Si vous préférez le contrôle FileUpload, vous pouvez générer quelques contrôles FileUpload sur le serveur (via la source asp avec l'attribut runat ou via le code de l'application) et les masquer avec css.

<asp:FileUpload ID="FileUpload1" runat="server" runat="server" class="hidden"/> 

Et puis vous pouvez les activer avec javascript après une action similaire à celle que vous auriez pour ajouter de nouveaux éléments.

Ensuite, vous pouvez utiliser la propriété Files de l'objet Request qui renvoie une référence à la classe HttpFileCollection. La classe HttpFileCollection a une propriété Item à travers laquelle vous obtenez un HttpPostedFile individuel de la collection de fichiers en spécifiant le nom ou l'index. Voir Listing 6 pour un exemple.

Questions connexes