Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Caricare dei file ...
mercoledì 06 gennaio 2010 - 23.52
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
mer 6 gen 2010 - 23:52
Ciao a tutti
In una pagina aspx vorrei far scegliere una cartella sul PC locale per poi copiere tutti i file contenuti su una nuova cartella del sito.
il controllo FileUpload se non erro consente la selezione di un file per volta e quindi nel caso di centinaia di file da copiare sarebbe un pò lento.
Cosa posso fare?
Grazie
alexmed
FrancescoGuadagno
Profilo
| Senior Member
224
messaggi | Data Invio:
gio 7 gen 2010 - 09:30
>Ciao a tutti
>In una pagina aspx vorrei far scegliere una cartella sul PC locale
>per poi copiere tutti i file contenuti su una nuova cartella
>del sito.
>
>il controllo FileUpload se non erro consente la selezione di
>un file per volta e quindi nel caso di centinaia di file da copiare
>sarebbe un pò lento.
>
>Cosa posso fare?
Ahimè niente. L'unico modo per spostare file dal client al server è tramite il controllo FileUpload. Anche se tu indicassi con un altro tipo di controllo, anche una banale TextBox, il nome della cartella, quando il controllo (scusa il gioco di parole) torna al server, il server non ha più accesso al client (e se mi permetti è giusto così).
Quindi le soluzioni che hai sono:
1) replicare N fileupload
2) utilizzare controlli ActiveX, Silverlight o quant'altro ti possa permettere di accedere al client con più libertà (e dietro assenso da parte dell'utente sulle opzioni di sicurezza). Per intenderci un controllo come quello usato in Facebook e scritto in Java per il caricamento di immagini in un album.
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
gio 7 gen 2010 - 19:51
Ciao
Ho fatto un pò di ricerche su internet e in effetti anche quelle procedure che si spacciano per Multiple File Upload sono come hai suggerito tu delle N fileUpload.
Quello che però non riesco a capire è perchè non posso fare un ciclo attorno al controllo FileUpload, o magari aggiungere i file direttamente (vi codice intendo) alla HttpFileCollection.
Quali sarebbero i controlli che mi hai suggerito (controlli ActiveX, Silverlight ).
Ciao e grazie
alexmed
FrancescoGuadagno
Profilo
| Senior Member
224
messaggi | Data Invio:
ven 8 gen 2010 - 09:22
>Ciao
>Ho fatto un pò di ricerche su internet e in effetti anche quelle
>procedure che si spacciano per Multiple File Upload sono come
>hai suggerito tu delle N fileUpload.
>Quello che però non riesco a capire è perchè non posso fare un
>ciclo attorno al controllo FileUpload, o magari aggiungere i
>file direttamente (vi codice intendo) alla HttpFileCollection.
Perché devi guardare il tutto dalla giusta prospettiva. Se tu accedi alla HttpFileCollection (ammesso che si possa fare), lo fai da codice C#, ovvero codice lato server, ovvero codice che gira sul server. Questo vuol dire che essendo codice che gira sul server, lo "scope" è il server, e non più il client. Quindi, scusami lo pseudocodice
HttpFileCollection.Add(new File(@"C:\miofile.ext"));
non farebbe altro che aggiungere alla HttpFileCollection il miofile.ext che si trova sul server, e non sul client.
L'unico modo per prelevare file dal client è tramite il controllo FileUpload che non è neanche un controllo ASP.NET bensì html. Questo vuol dire che qualsiasi browser tramite quel controllo html da accesso al file system locale. Se ci pensi l'accesso al file system locale da parte di un browser però sarebbe una operazione alquanto pericolosa, ecco perchè con il fileupload è l'utente che da esplicito consenso.
Altri modi alternativi consistono nell'inserire controlli nè html, nè propriamente webcontrols asp.net ma ad esempio Silverlight, Flash, ActiveX che sono componenti che girano nei browser, dietro esplicito consenso dell'utente, e che quindi hanno più margine d'azione. Io non ne ho mai avuto l'esigenza ma devi fare ricerche per "ActiveX upload file asp.net" ecc..
Un esempio
http://www.element-it.com/multiple-file-upload/activex-uploader.aspx
Considera anche che utilizzando queste componenti i browser aggiornati di default le bloccano, con l'effetto in Explorer di avere quel messaggio giallo in alto che chiede all'utente se attivare il controllo "pericoloso".
Spero di esserti stato d'aiuto
a presto
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
ven 8 gen 2010 - 09:44
Ciao
Ok, quindi a conti fatti, è meglio collegarsi via ftp, creare la cartella e metterci dentro i file.
Ti ringrazio per l'attenzione.
Ciao
alexmed
FrancescoGuadagno
Profilo
| Senior Member
224
messaggi | Data Invio:
ven 8 gen 2010 - 09:50
Ti conviene in effetti rivedere il disegno generale.
a disposizione!
Francesco
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !