torsdag den 1. maj 2014

ASP.NET åben eller download fil (C#)


Der er forskellige måde du kan få browseren til at håndtere de filer du sender til den.
Fx på min udvikler side, har jeg et fysisk pdf cv som jeg gerne vil dele med folk.

Her er der mulighed for både at åbne den i browseren eller få den til at downloade filen.

I ASP.NET (C#) skal der ikke ret meget forskel i koden til for at give de forskellige responses og typer opførsel med filer.


1. Du skal sætte en ContentType, så browseren ved hvad det er du sender til den

          Response.ContentType = "application/pdf";   

2. HVIS du vil have den skal poppe up og spørge brugeren om du vil downloade/åbne filen uden at åbne den direkte i browseren, skal du tilføje en Header til dit response.

          Response.AppendHeader("content-disposition", "attachment;filename=\"CV - Laurits West - Udvikler.pdf\"");   






Filename er faktisk et du selv bestemmer hvad skal hedde, og kan hedde alt andet end selve filen, men er det der bestemmer hvad der vil poppe ud og sige at denne fil kaldet (xXx) skal åbnes/gemmes.

3. Nu skal du sende din fil og response afsted tilbage.


           string cvpath = HttpContext.Current.Server.MapPath("~/Resources/PDF/CV - Laurits West - 
           string transmitFilePath = cvpath;
           Response.TransmitFile(transmitFilePath);
           Response.Flush();
           Response.End();


Så nu har du styr på at sende filer til klienten på forskellige måder.

Ingen kommentarer:

Send en kommentar

Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst