Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer côté Server des éléments créés côté Client

2 réponses
Avatar
Delf
Bonjour.

Je suis en train de d=E9velopper un UserControl pour g=E9rer l'upload de
plusieurs fichiers d'un coup Client -> Serveur (avec gestion des
archives RAR et ZIP).

Le contr=F4le dispose initialement d'un contr=F4le INPUT FILE.

Pour faire simple, une fois un fichier s=E9lectionn=E9, l'utilisateur
presse ATTACH. L'INPUT FILE est cach=E9, et j'en rajoute un nouveau dans
le FORM.

A la fin, l'utilisateur presse UPLOAD, et l=E0, le PostBack se
d=E9clenche.

Mes questions : comment r=E9cup=E9rer c=F4t=E9 Serveur tous les INPUT FILES=
?
Je ne trouve rien c=F4t=E9 Request.Form...

Par ailleurs, comment faire en sorte de ne pas avoir de PostBack ?
Comment uploader les fichiers dans ce cas l=E0 ? Je pensais utiliser un
ScriptManager + une PageMethod mais l'upload me reste obscure...

Merci.

--
Delf

2 réponses

Avatar
Delf
On 29 jan, 11:53, Delf wrote:

Mes questions : comment récupérer côté Serveur tous les INPUT FIL ES ?
Je ne trouve rien côté Request.Form...



J'ai trouvé un indice dans les entêtes de Request :

Content-Disposition: form-data; name="fileUploader$iFileUploader";
filename="C:...Example.txt"
Content-Type: application/octet-stream

Mais, il y a uniquement le fichier du 1° contrôle INPUT FILE qui lui
n'est pas créé dynamiquement via Javascript...

--
Delf
Avatar
Delf
On 29 jan, 12:09, Delf wrote:

> Mes questions : comment récupérer côté Serveur tous les INPUT F ILES ?
> Je ne trouve rien côté Request.Form...

J'ai trouvé un indice dans les entêtes de Request :

Content-Disposition: form-data; name="fileUploader$iFileUploader";
filename="C:...Example.txt"
Content-Type: application/octet-stream

Mais, il y a uniquement le fichier du 1° contrôle INPUT FILE qui lui
n'est pas créé dynamiquement via Javascript...



Bon, j'avance.

Au lieu de créer un nouvel INPUT FILE comme ceci :

var newInput = document.createElement('INPUT');
[...]

Il faut utiliser ceci :

var newInput = iFileUploader.cloneNode(false); //iFileUploader
correspond à l'INPUT FILE de base, connu du formulaire car static.
[...]

Côté CodeBehind, utiliser Request.Files.

--
Delf