Dowload file da db

mercoledì 14 aprile 2010 - 11.56

Gemini Profilo | Expert

Ciao a tutti
devo realizzare una pagina che permette ad un utente di scaricare un file in formato o pdf o ebook.
L'utente può scaricare il file solo se esegue il login.
Per evitare che un utente acceda al file senza logarsi, ma scrivendo solo l'indirizzo del file, ho pensato di salvare il file in un db mysql.
Quello che non so è:
come faccio a salvare il file nel db?
come faccio a recuperare il file e a far partire subito il download?
Grazie mille

fguida Profilo | Expert

Puoi salvare un file come Array di byte in modo che venga menorizzato e recuperato con facilità.
Questo array poi lo passi ad uno stream che a seguito della response corretta, te lo apre nel browser con la possibilità di salvare su disco fisso oppure aprire direttamente.
Ciao

Francesco

Gemini Profilo | Expert

Ciao e grazie per l'aiuto
hai un piccolo esempio?
Grazie

fguida Profilo | Expert

Intanto ti giro del codice per la creazione della Response(esempio per PDF)

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Poi qui ti crei un metodo che chiama la response:
Byte[] bytes = recuperoDocumento(IdDocument); MemoryStream ms = new MemoryStream(bytes); setResponse(ms, "nome Documento");

Francesco

Gemini Profilo | Expert

Ciao
se io volessi eseguire il download di un file di cui non conosco il formato?
Sono costretto a definire ogni volta il tipo MIME?
ancora Grazie

motogpdesmo16 Profilo | Senior Member

Ho appena aperto un thread riguardo una problematica molto molto simile: scaricare dei file pdf solo se si è loggati.
Puoi seguire questa strada: nel db ti salvi solo il percorso del file system dove il file viene effettivamente salvato e poi demandi al web config (e a IIS) la protezione vera e propria della cartella.
Dai un'occhiata al mio thread (http://www.dotnethell.it/forum/messages.aspx?ThreadID=35118) perchè contiene già la configurazione corretta per fare tutto ciò di cui necessiti. L'unica cosa: chiedere all'hosting di abilitarti il mapping sull'estensione .pdf come spiegato in questo articolo: http://www.15seconds.com/issue/070104.htm

Fortunatamente non ho Aruba e quindi è bastata una telefonata per sistemare tutto!
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5