ASP .NET 4.0 #3 Ciò che non è cambiato

ASP .NET 4.0 è ormai alle porte, con la versione beta è possibile scoprire le novità  rispetto alla versione precedente, e non sono certamente poche, ma a livello di controlli lato server ce ne sono alcuni praticamente immutati rispetto alle precedenti versioni. Mi riferisco ad esempio al controllo Http File Upload, rimasto identico nelle varie versioni di ASP .NET che si sono succedute. Questo controllo soffre di qualche problema e non è certo il massimo in ottica web 2.0, ovvero su siti dove è richiesto una elevata user experience.

A meno di non utilizzare un controllo di terze parti probabilmente a pagamento, occorre fare i conti con il look del controllo rimasto identico nel tempo, con l'assenza di funzionalità  oggi richieste quali ad esempio la barra di progressione dell'upload in corso, e soprattutto con un fastidioso comportamento "by design", ovvero la perdita del contenuto (il nome completo di percorso del file scelto) ad ogni postback della pagina; quest'ultima caratteristica è resa necessaria da motivi di sicurezza.

Se la pagina dispone di altri controlli che generano un postback, es. una dropdownlist, l'unico escamotage è quello di rendere il controllo File Upload l'ultimo controllo che genera postback in ordine di visualizzazione, in modo da invogliare l'utente ad interagire per ultimo con esso. In caso contrario, un postback della pagina provocherà  la perdita del suo contenuto, cioè del nome del file scelto, ed ovviamente obbligherà  l'utente a scegliere nuovamente il file da inviare.

Print | posted on Tuesday, November 24, 2009 10:42 PM

Comments on this post

# re: ASP .NET 4.0 #3 Ciò che non è cambiato

Requesting Gravatar...
Ciao, devo implementare una pagina di upload personalizzata di file anche molto pesanti per il ns sito.
Leggendoti, mi chiedo: visto che alla fine mi sembra di capire che "sconsigli" il controllo incluso in asp.net cosa ti viene in mente di alternativa (anche a pagamento) tra quelli disponibili? Hai qualche esperienza in merito?

Grazie
Paolo
Left by paolo on Feb 24, 2010 10:45 AM

# re: ASP .NET 4.0 #3 Ciò che non è cambiato

Requesting Gravatar...
Ciao Paolo,
non è che sconsiglio il controllo FileUpload. Per semplici scenari senza grosse pretese va più che bene.

Il problema è che non ha un "look and feel" personalizzabile e che non è possibile operare in asincrono con un adeguato feedback all'utente.

Per quanto concerne i files di grosse dimensioni che io sappia non è possibile effettuare l'upload di file con dimensioni maggiori di 2 Gb, questo a causa di una limitazione di IIS.

Non è inoltre possibile gestire l'upload a livello programmatico, ovvero settando semplicemente il nome del file senza farlo scegliere all'utente. Questo però è dovuto a motivi di sicurezza. ovvero che il browser non permette di accedere ad una risorsa locale senza l'esplicito consenso dell'utente.

Esistono svariati prodotti commerciali di terze parti che offrono una "user experience" migliore, come ad esempio i controlli della Telerik.

Spero ti sia d'aiuto.
Left by Maurizio on Feb 24, 2010 2:28 PM

# re: ASP .NET 4.0 #3 Ciò che non è cambiato

Requesting Gravatar...
Grazie Maurizio.
la limitazione dei 2 gb non sarebbe un problema,
Dimmi di + sulla impossibilità asincrona ed adeguato feedback all'utente...

Io vorrei implementare tanto per capirsi per ns. uso interno un servizio tipo wetrasfer.com e cioè scegli i file da inviare, setti email mittente e email dei destinatario a cui vuoi mandare i files e dopo l'upload il sistema invia una mail al destinatario che lo avvisa...

grazie ancora

Paolo
Left by paolo on Feb 25, 2010 11:06 AM

# re: ASP .NET 4.0 #3 Ciò che non è cambiato

Requesting Gravatar...
Penso che per le funzionalità che mi hai detto il controllo FileUpload vada bene.

Intendevo dire che il controllo FileUpload non è diciamo Ajax-enabled e quindi non è richiamabile mediante post asincrono via Javascript, e conseguentemente non è possibile fornire all'utente alcun feedback sull'upload in corso, ad esempio lo stato di avanzamento dell'operazione mediante progress bar.

Ciao,
Maurizio
Left by Maurizio on Feb 25, 2010 2:05 PM

# re: ASP .NET 4.0 #3 Ciò che non è cambiato

Requesting Gravatar...
Ok grazie per le info!

Paolo
Left by paolo on Feb 25, 2010 5:05 PM

Your comment:

 (will show your gravatar)
 
Please add 7 and 8 and type the answer here: