Je vois 2 façons de le faire (mais ils héritent de la même idée).
L'idée est basée sur la chose que vous devriez avoir quelque chose comme sessionId
paramètre. Cette valeur doit être unique pour chaque ensemble de fichiers. Vous pouvez utiliser javascript
uuid
générateurs ou quelque chose comme ça.
En outre, cette variable sessionId
peut passer à travers la chaîne de requête (un peu modifié l'url de votre gestionnaire): ~/UploadHandler.ashx?sessionId={whatever}
ou en tant que paramètre post (devinez, la meilleure façon). La valeur peut être récupérée côté serveur en utilisant: context.Request["SessionId"]
par exemple. Du côté client, vous devriez être capable de modifier dynamiquement les paramètres de publication ou l'URL du gestionnaire. Cela pourrait se faire en utilisant:
void addPostParam(name, value)
La fonction addPostParam ajoute une paire nom /valeur qui sera envoyée à le POST pour tous les fichiers téléchargés.
La paire nom/valeur apparaît également dans le paramètre post_params.
ou
void setUploadURL(url)
modifie le réglage Dynamiquement UPLOAD_URL .
méthodes client. Ils devraient être appelés à partir de la
fileDialogComplete(number of files selected, number of files queued, total number of files in the queued)
L'événement se déclenche fileDialogComplete après la fenêtre de dialogue de sélection de fichier a été fermé et ont été traitées tous les fichiers sélectionnés . L'argument 'number of files queued' indique le nombre de fichiers mis en file d'attente à partir de la sélection de la boîte de dialogue (par opposition à au nombre de fichiers de la file d'attente).
méthode.
Espérons que cela aide.
@Alex: Merci pour votre suggestion. J'avais le sentiment que c'était l'approche que j'avais besoin de prendre, mais j'avais espéré de la magie :) – Chau