Bonjour,
Je souhaite remplacer dans une page applicative le traditionnel bouton fileupload par un bouton affichant une barre de progression lors de l'envoi d'un fichier sur le serveur Web.
Après de longues recherches , je suis parvenu à implanter une solution utilisant JQuery et flash, appelée Uploadify pour faire cela.
Concrètement , une page ASPX gère l'envoi du fichier via le module flash à une page ashx contenant le httphandler.
Au debut tout fonctionne correctement, le fichier est bien envoyé, la barre de progression est bien affichée, le fichier est bien réceptionné.
Cependant, si la page aspx reste ouverte, et que l'on attend plus de une minute, et que l'on retente un envoi, une erreur HTTP est retournée par le module flash.
Pour que cela refonctionne, on est obligé de rafraichir la page... Ce qui est genant...
Je ne parviens pas à corriger ce bug.
J'ai ouvert un proxy web en local (fiddler) pour voir d'ou pouvait venir le problème, j'ai remarqué que quand les envois fonctionnent j'ai un code 200 (normal) , quand cela ne fonctionne pas, j'ai une erreur 401 (d'authentification).
Après des recherches sur internet j'ai trouvé cette solution:
http://stackoverflow.com/questions/1...th-asp-net-mvc
Il y est précisé, de passer en paramètre de l'envoi asynchrone, l'id de session de la page d'appel au gestionnaire ashx:
Puis de rajouter une procédure au fichier global.asax, qui est présente dans le lien ci dessus (je ne le copie pas pour ne pas rallonger inutilement ce message).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"; var ASPSESSID = "<%= Session.SessionID %>"; $("#uploadifyLogo").uploadify({ ... scriptData: { ASPSESSID: ASPSESSID, AUTHID: auth } });
J'ai donc activé les sessions dans la page applicative en utilisant l'attribut enableSession = true dans la directive @page, puis ajouté ce qu'il fallait dans le global.asax.
Cependant le problème est toujours la ...
Les envois fonctionnent au début, puis après cela ne fonctionne plus.
Si l'on retente un envoi après une erreur, cela peut refonctionner , mais cela n'est pas garanti.
Quelqu'un aurait il déjà implanté uploadify ?
Si oui qu'avez vous fait pour le faire fonctionner sans erreur ?
Il y a t-il des modifications à apporter au web.config ?
L'application SharePoint est configuré avec une authentification Windows NTLM.
Merci beaucoup pour vos réponses.
Partager