Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# Asp.net write file to client

Tags:

c#

response

I hope this is a quick question I hope. I need to write some reports and then have the user prompted to save it to his/her local machine. The last time I did this I wrote a file to the webserver and then sent it to the client via Response object.

to create on the webserver

            TextWriter tw = new StreamWriter(filePath); 

to send to client

           page.Response.WriteFile(path); 

The question is, Is there a way to skip the writing of the physical file to to the webserver and go right from an object that represent the document to the response?

like image 524
jim Avatar asked Jul 02 '09 06:07

jim


1 Answers

You could use the Response.ContentType like this

Response.ContentType = "text/plain"; Response.OutputStream.Write(buffer, 0, buffer.Length); Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.txt"); 

This of course works if you want to write a text file. In case you want to write a .doc for example you change the ContentType to "application/msword" etc...

like image 194
Nikos Steiakakis Avatar answered Oct 10 '22 20:10

Nikos Steiakakis