Welcome to AspAdvice Sign in | Join | Help

Download Example #1

This routine is useful when you want to download a file that is otherwise processed by IIS.

void DownloadFile(string virtualPath)
{
    // retrieve the physical path of the file to download, and create
    // a FileInfo object to read its properties
    string filePath = Server.MapPath(virtualPath);
    System.IO.FileInfo targetFile = new System.IO.FileInfo(filePath);
 
    // clear the current output content from the buffer
    Response.Clear();
    // add the header that specifies the default filename for
    // the Download/SaveAs dialog
    Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name);
    // add the header that specifies the file size, so that the browser
    // can show the download progress
    Response.AddHeader("Content-Length", targetFile.Length.ToString());
    // specify that the response is a stream that cannot be read by the
    // client and must be downloaded
    Response.ContentType = "application/octet-stream";
    // send the file stream to the client
    Response.WriteFile(targetFile.FullName);
    // stop the execution of this page
    Response.End();
}
Published Thursday, March 17, 2005 9:27 AM by sswafford
Filed under:

Comments

No Comments

New Comments to this post are disabled