Download file

giovedì 30 settembre 2010 - 15.13
Tag Elenco Tags  C#  |  VB.NET  |  .NET 2.0

Ninja87 Profilo | Junior Member

Buongiorno a tutti, avrei un problema, dovrei creare una pagina web che permette il download di un file e terminata la procedura di download eseguire un redirect ad una pagina che imposto via codice ho visto che il download del file è una procedura semplice basta fare

Response.Clear();
Response.AppendHeader("Content-Disposition","attachment; <nome_file>.<ext>");
Response.TransmitFile(<nome_file>.<ext>));
Response.End();

e per il redirect utilizzo Response.Redirect(<url>); tuttavia impostando Response.End(); non viene eseguito il resto del codice mentre se elimino questa riga viene eseguito il redirect senza però permettermi di scaricare il file.
Come avrete notato dal codice sviluppo il aspx e C#.

Qualcuno sa come posso risolvere questo problema?
Spero di essermi spiegato.

Grazie a tutti in anticipo

andrestu Profilo | Expert

prova a utilizzare server.transfer al posto di redirect

Ninja87 Profilo | Junior Member

Innanzitutto vorrei ringraziarti per la risposta, ho provato il metodo da te suggerito tuttavia il problema rimane lo stesso, se lascio la riga

Response.End();

viene eseguito il download del file ma non il redirect se la tolgo viene eseguito il redirect ma non il download del file, ci sto diventanto matto

Ninja87 Profilo | Junior Member

Sono finalmente riuscito a risolvere il problema , non so se la cosa possa a servire a qualcuno, comunque sia la soluzione che ho adottato è questa, ho modificato il blocco di codice in questo modo

Response.Clear();
Response.AppendHeader("Content-Disposition","attachment; filename=<file>.<ext>");
Response.AppendHeader("REFRESH", "0;URL=" + <url_da_eseguire>);
Response.TransmitFile(Server.MapPath(<file>.<ext>));
Response.End();

è bastato semplicemente aggiungere un header dedominato refresh.
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