Ho una pagina ASP.NET con un iframe su di essa per visualizzare alcuni rapporti pdf su questa pagina. Quando l'utente seleziona il tipo di rapporto dal menu a discesa, aggiungo il necessario per i dati del rapporto nella sessione ASP.NET e cambio l'attributo "src" dell'indirizzo iframe in .ashx che genera il rapporto .pdf. Ma se Adobe glug-in per visualizzare i file .pdf nel browser non è installato, il browser propone di salvare il file di report e il nome del file proposto è "HandlerName.ashx". Ma voglio fare il browser proposto per salvare il file con il nome "Report.pdf". Posso farlo? Ci sono soluzioni alternative?Download di file usando i moduli .ashx di ASP.NET
risposta
Prova in linea Content-Disposition, però devo controllare questo:
Response.ContentType = "application/pdf";
Response.AppendHeader("content-disposition", "inline; filename=" + name);
Mike, è ottimo. Grazie da Kharkov, GlobalLogic. Мир тесен;) – w1z
:), ma per quanto ne so, questo non funzionerà ... А кто ты конкртейней? –
Vorrei giocare un po 'con questa soluzione, ma sembra che non funzioni ... "тісніше немає вже куди: D" –
Aggiungere la seguente intestazione nel ashx-file:
context.Response.AddHeader("content-disposition", "attachment;filename=PUTYOURFILENAMEHERE.pdf");
context.Response.ContentType = "application/pdf";
Use
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=Report.PDF");
Response.WriteFile(Server.MapPath("~/YourPath/Report.PDF"));
Response.End();
Attenzione. È necessario visualizzare il file .pdf generato nel caso in cui sia installato il plug-in Adobe ... – w1z