C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Communities   Interview   Jobs   Projects   Offshore Development    
Silverlight Tutorials | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Revenue Sharing |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...

New Feature: Community Sites: Create your own .NET community website and start earning from Google AdSense ! It's Free !






Downloading Files From Server To Client using ASP.Net C#


Posted Date: 11 Oct 2008    Resource Type: Code Snippets    Category: File Operations

Posted By: Meetu Choudhary       Member Level: Gold
Rating:     Points: 10



Following is the code which will help you to download the file from the server to the local machine


//To Get the physical Path of the file(me2.doc)
string filepath = Server.MapPath("me2.doc");

// Create New instance of FileInfo class to get the properties of the file being downloaded
FileInfo myfile = new FileInfo(filepath);

// Checking if file exists
if (myfile.Exists)
{
// Clear the content of the response
Response.ClearContent();

// Add the file name and attachment, which will force the open/cancel/save dialog box to show, to the header
Response.AddHeader("Content-Disposition", "attachment; filename=" + myfile.Name);

// Add the file size into the response header
Response.AddHeader("Content-Length", myfile.Length.ToString());

// Set the ContentType
Response.ContentType = ReturnExtension(myfile.Extension.ToLower());

// Write the file into the response (TransmitFile is for ASP.NET 2.0. In ASP.NET 1.1 you have to use WriteFile instead)
Response.TransmitFile(myfile.FullName);

// End the response
Response.End();
}

private string ReturnExtension(string fileExtension)
{
switch (fileExtension)
{
case ".htm":
case ".html":
case ".log":
return "text/HTML";
case ".txt":
return "text/plain";
case ".doc":
return "application/ms-word";
case ".tiff":
case ".tif":
return "image/tiff";
case ".asf":
return "video/x-ms-asf";
case ".avi":
return "video/avi";
case ".zip":
return "application/zip";
case ".xls":
case ".csv":
return "application/vnd.ms-excel";
case ".gif":
return "image/gif";
case ".jpg":
case "jpeg":
return "image/jpeg";
case ".bmp":
return "image/bmp";
case ".wav":
return "audio/wav";
case ".mp3":
return "audio/mpeg3";
case ".mpg":
case "mpeg":
return "video/mpeg";
case ".rtf":
return "application/rtf";
case ".asp":
return "text/asp";
case ".pdf":
return "application/pdf";
case ".fdf":
return "application/vnd.fdf";
case ".ppt":
return "application/mspowerpoint";
case ".dwg":
return "image/vnd.dwg";
case ".msg":
return "application/msoutlook";
case ".xml":
case ".sdxl":
return "application/xml";
case ".xdp":
return "application/vnd.adobe.xdp+xml";
default:
return "application/octet-stream";
}


Please Note: If you want to bypass the Open/Save/Cancel dialog you just need to replace LINE1 by the below code

Response.AddHeader("Content-Disposition", "inline; filename=" + file.Name);



Response.TransmitFile VS Response.WriteFile:
1. TransmitFile: This method sends the file to the client without loading it to the Application memory on the server. It is the ideal way to use it if the file size being download is large.
2. WriteFile: This method loads the file being download to the server's memory before sending it to the client. If the file size is large, you might the ASPNET worker process might get restarted.

Hope this helps,Your comments and queries are welcome
--
Thanks and Regards
Meetu Choudhary




Responses

Author: nazarml    01 Nov 2008Member Level: Silver   Points : 2
hi Madam.

please solve my problem...
i have upload file from Asp.Net into "C:/UploadFile/" location.

Now.
i want to download file from uploaded directory. but this directory is not server Path

if u have any code pls send me

this is my messengers ID
Yahoo nazar_ml@yahoo.com
Google nazarmlcs@gmail.com



Author: Meetu Choudhary    01 Nov 2008Member Level: Gold   Points : 1
Nazarml

where you have have saved the file the location which you have given is from where u took the file but where u saved it and from where you want to download it plese tell me so that i can help you

++
Thnaks and Regards
Meetu Choudhary


Author: nazarml    02 Nov 2008Member Level: Silver   Points : 1
dear madam Meetu Choudhary
lot of thanks for your response

when i upload file i saved into "C:\upload_File\"
i want to download file from above path.

How can do?
but.
I save asp project in "D:\Asp\upload-File\"

pls help me.

Regard
Nazarml






Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Downloading Files From Server To CLient Using ASP.Net C#  .  Download file asp.c#  .  

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: Code to export GridView to CSV file
Previous Resource: Simple HTML gallery maker
Return to Discussion Resource Index
Post New Resource
Category: File Operations


Post resources and earn money!
 
Related Resources



dotNet Slackers   BizTalk Adaptors    Web Design

UK Conference calling Company

Contact Us    Privacy Policy    Terms Of Use