public void DownLoad(string FileName,Page R)

{
if (FileName != "")

{
string path = R.Server.MapPath(FileName);
System.IO.FileInfo file = new System.IO.FileInfo(path);
if (file.Exists)

{
R.Response.Clear();
R.Response.AddHeader("Content-Disposition", "attachment; FileName=" + file.Name);
R.Response.AddHeader("Content-Length", file.Length.ToString());
R.Response.ContentType = "application/octet-stream";
R.Response.Filter.Close();
R.Response.WriteFile(file.FullName);
R.Response.End();
}
else

{
R.Response.Write("This file does not exist.");
}

}

示例 二:
private void NewDownLoad(string Path,string FileName)

{//Path为文件绝对路径,FileName为文件路径
FileStream fs=new FileStream(Path,FileMode.Open,FileAccess.Read);
BinaryReader r=new BinaryReader(fs);
Response.AddHeader("Content-Disposition","attachment;filename="+FileName);
Response.Charset="gb2312";
Response.ContentType="application/octet-stream";
Response.BinaryWrite(r.ReadBytes(Convert.ToInt32(fs.Length)));
Response.Flush();
fs.Close();
try

{
File.Delete(Path);
}
catch(System.Exception ee)

{
string ff=ee.ToString();
}
}
示例三:

文件下载#region 文件下载
private void DownLoadFile(string address,string filename)

{//address 文件下载路径,filename文件存放的本地路径
WebClient client=new WebClient();
client.DownloadFile(address,filename);
Stream str=client.OpenRead(address);
StreamReader reader=new StreamReader(str);
byte[] mbyte=new byte[str.Length+1];
int allmybyte=(int)mbyte.Length;
int startmbyte=0;
while(allmybyte>0)

{
int m=str.Read(mbyte,startmbyte,allmybyte);
if(m==0)

{
break;
}
startmbyte+=m;
allmybyte-=m;
}
FileStream fstr=new FileStream(filename,FileMode.OpenOrCreate,FileAccess.Write);
fstr.Write(mbyte,0,startmbyte);
str.Close();
fstr.Close();
}
#endregion
转载于:https://www.cnblogs.com/sunheyubo/archive/2007/09/04/881677.html