From: http://www.cnblogs.com/PingFang/archive/2007/08/15/857009.html
UpdateName = Server. MapPath ("OnLoadDate \" + UpdateName); // download file path
FileInfo file = new System. IO. FileInfo (UpdateName );
Response. Clear ();
Response. Charset = "GB2312 ";
Response. ContentEncoding = System. Text. Encoding. UTF8;
// Add the header information and specify the default file name for the "download/Save as" dialog box
Response. AddHeader ("Content-Disposition", "attachment; filename =" + Server. UrlEncode (file. Name ));
// Add header information and specify the file size so that the browser can display the download progress.
Response. AddHeader ("Content-Length", file. Length. ToString ());
// Specify a stream that cannot be read by the client and must be downloaded.
Response. ContentType = "application/zip ";
// Send the file stream to the client
Response. WriteFile (file. FullName );
// Stop page execution
Response. End ();