Newsgroup: it.comp.www.asp
Titolo: Download da ASP

Sto implementando un file manager in ASP e devo permettere il download di
file dal Server al Client del navigatore. Questo dev'essere possibile per
TUTTI i file presenti su TUTTE le unità del Server, quindi non solo per quei
file posizionati nella wwwroot o in una virtual directory, ma per TUTTI.
Come posso fare, a parte condividere tutti i dischi del Server cosa che
vorrei evitare assolutamente?
Grazie!
--
-------
Gianni
--------------------

 vorrei evitare assolutamente?
Domanda:
Vuoi permettere a chiunque di downloadare qualsiasi file dal Server ma non vuoi
condividere tutti i dischi?
Mi sembra un pochettino illogico (spero di sbagliare), non condividere in rete
presuppone il concetto di impedimento alla lettura del contenuto di quella
determinata parte ma se chiunque può leggere sul tuo disco ... potresti
condividere tutte le unità in sola lettura, almeno eviteresti cancellazioni.
Altra soluzione:
Prova a dare un'occhiata al mio articolo in 
aspitalia.com
 (è stato pubblicato
ieri) che riguarda un gestione risorse in ASP. Con questo io, da casa, posso
vedere tutti i dischi del mio server anche se gli stessi non sono condivisi.
Ciao
Michele Mariotti

Non mi sembra illogico, io ad esempio ho il problema di permettere il
dowload
di un file solo agli utenti che mi compilano una determinato form.
Se il file è "visibile", la prima volta che lo scaricano, si recuperano il
nome e io sono fritto....
Quindi interessa anche a me la richiesta fatta da Gianni

Maurizio Sordo ha scritto:

mmmhhh ... avevo capito male ... pardon
al momento non saprei come farlo direttamente via web ... ma via mail si, in
pratica, il file non viene scaricato dal client ma viene inviato in allegato
con un messaggio di posta elettronica (con CDONTS).
cmq ... come idea e "problema" mi interessa parecchio e proverò a perderci
qualche notte per vedere se riesco a trovare una soluzione.
Ciao
Michele Mariotti

 wrote in message
389AFFDA...@adamello.it...


 questo benedetto componente ;-)
Perfetto ... potrei chiederti una copia di questo file?
Ciao
Michele Mariotti

 vedere tutti i dischi del mio server anche se gli stessi non sono
condivisi.
Le funzioni di Copia/Muovi File/Directory, Cancellazione, Upload e Creazione
File/Directory le ho già implementate. L'unica cosa che mi mancava era il
download. Ora ho risolto in una maniera "diversiva"! ;-)))
Praticamente mi sono creato una directory apposita condivisa. Ogni volta che
si clicca su un file per scaricarlo, copio questo file nella directory
condivisa e mando il link all'utente il quale dovrà poi soltanto cliccare
sul collegaento e scaricare il file. L'unico problema di questo sistema è
che non posso sapere quando il client ha finito di scaricare il file per
poterlo cancellare dalla directory condivisa temporanea.
Hai una qualche soluzione a questo problema?
Ciao!
--
-------
Gianni
--------------------

 wrote in message 87eh91$l...@sirio.tno.it...

Set FileObj=CreateObject("Scripting.FileSystemObject")
Set f=FileObj.GetFolder(path)
Set fc=f.Files
for each x in fc
  Set f = FileObj.GetFile(filespec)
  creazione=CDate(f.DateCreated)
   if DateDiff("d", creazione, Date()>1 then  FileObj.DeleteFile x, true
next
lo metti nel global.asa, oppure nel file asp che sposta il file da scaricare
dalla dir di origine in quella di destinazione, e tutto dovrebbe funzionare
alla grande. Cancella il file non appena è più vecchio di un giorno, ma
potresti anche farlo dopo un'ora, se hai un traffico notevole.
--
HAPPY 2K!.db
Daniele "The Night Surfer" Bochicchio <webmaster(at)ASPItalia.com>
Moderatore di it.comp.www.asp - 
http://www.ASPItalia.com/newsgroup/icwa.asp
Leggi subito i nostri ultimi articoli:
- 'Un esplora risorse in ASP'
http://www.ASPItalia.com/articoli/articoli.asp?data=20000203
- 'WAP Parte seconda'
http://www.ASPItalia.com/articoli/articoli.asp?data=20000131
Uno script al giorno? Solo su 
http://www.aspitalia.com/liste/usag/

 next
L'ho modificato in questo modo:
 Set FileObj=CreateObject("Scripting.FileSystemObject")
 Set f=FileObj.GetFolder(path)
 Set fc=f.Files
 for each x in fc
    FileObj.DeleteFile x, true
 next
E funziona magnificamente! ;-)
Eseguo queste istruzioni appena prima di fare la copia del file nel buffer.
Praticamente nella dir condivisa rimane sempre solo l'ultimo file scaricato
e mai piů d'uno.
Grazie, Ciao!!!
--
-------
Gianni
--------------------

 e mai più d'uno.
Un paio di perplessita':
se un utente non ha ancora cominciato a scaricare il file ed un altro arriva
e ne crea uno nuovo?
se un utente non ha ancora finito di scaricare un file il file system lo
ritiene bloccato ed impedisce il delete vero?
Ciao, Fabio Zed Zamparelli

 Se ne conoscete altri sono tutto orecchi.
Se me lo mandi via posta provvedo subito a metterlo sul mio sito disponibile
a tutti...
Ciao
Alessandro
www.mio.it
www.mio.it/vetrinalavoro
www.mio.it/burchiellaro

 Alessandro
ftp://www.adamello.it/vari/asp/aspfserv2.zip

 ritiene bloccato ed impedisce il delete vero?
Devo fare delle prove, cmq penso che si potrà rimediare alla cosa impostando
qualche flag da qualche parte...
--
-------
Gianni
--------------------

 Ottima osservazione! ;-)
Credo che una strategia piu' valida sia creare una cartella temporanea per
ogni sessione (al primo download di ogni sessione), da ripulire e eliminare
al termine di ogni sessione (session_onend). In FileSystemObject c'e' un
metodo
per ottenere un nome univoco per la cartella temporanea.


Io faccio una cosa simile in una mia applicazione, ma comunque aggiungo del
codice per ripulire periodicamente. Gli scherzi che mi puo' fare una session
on end e' meglio prevenirli che curarli ;-)
Chissa' IIS5...
Ciao, Fabio Zed Zamparelli

 per ottenere un nome univoco per la cartella temporanea.
Uhm, ottima soluzione, la metto subito in pratica! ;-)
