Mi sono imbattuto in una problematica
interessante, cioè quella di realizzare un progress bar per indicare lo stato di
avanzamento dell'upload via web.
Sfortunatamente non è facile da implementare come in ASP e
Java: il Framework nasconde completamente il processo di upload e di decodifica
del post (quando arrivail Page_Load tutto il file è già in memoria del
server)
Per fare una cosa del genere bisogna creare un HttpHandler
e salvare da qualche parte (in una hashtable o similare) lo stato di avanzamento
dell'upload, in modo da poterlo leggere da una pagina che si aggiorna e scrive
l'avanzamento.
Avendo solo 2gg per implementare questa cosa mi sono
rivolto a Google... :-)
Purtroppo non c'è granchè in giro per ASP.NET. Qui sotto i
progetti OpenSource che ho trovato, con un breve commento...
- SlickUpload: gestisce bene quasi
tutto, usa sia la memoria che il filesystem durante l'upload (quindi saturando
meno la memoria in caso di upload larghi), ha il problema che non è possibile
capire il nome del campo del form dal quale proviene il file
- Electric Progress
Bar: non so, dovrebbe funzionare, ma dopo 2 ore a cercare di farlo
funzionare non sono riuscito a far partire la progressbar di avanzamento,
sicuramente è un problema di configurazione
- FileUploadProgressBar
su Code Project: non va, mostra il tempo che il server impiega a salvare
il file dalla memoria al disco... non so come possano aver postato un'articolo
così sbagliato
- ABCUplad.NET: è
l'unico che non ho ancora provato, perchè è a pagamento, ma se non riuscirò a
far andare come mi serve il SlickUpload... devo pensarci... costa 2500$ per la
versione site-wide
La cosa più probabile è che cercherò di sistemare il
SlickUpload per vedere se si riesce a recuperare i nomi dei campi.
powered by IMHO
posted @ giovedì 23 dicembre 2004 13:22