Specifying filename for dynamic PDF in asp.net

Josh Bush picture Josh Bush · Sep 16, 2008 · Viewed 35.5k times · Source

How can I specify the filename when dumping data into the response stream?

Right now I'm doing the following:

byte[] data= GetFoo();
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/pdf";            
Response.BinaryWrite(data);
Response.End();

With the code above, I get "foo.aspx.pdf" as the filename to save. I seem to remember being able to add a header to the response to specify the filename to save.

Answer

Ryan Farley picture Ryan Farley · Sep 16, 2008

Add a content-disposition to the header:

Response.AddHeader("content-disposition", @"attachment;filename=""MyFile.pdf""");