怎样点击一个连接形成一个下载,就像邮件的附件一样,一点击就下载--等待

//此处提供下载的方法,你可以通过别的地方来调用,参数为文件名

private void DownLoad(string PhysicsFileName)  //PhysicsFileName为文件名
{  
string Driver_Path=Server.MapPath("~/upload/picture")+"\\"+PhysicsFileName;
if (!File.Exists(Driver_Path))
{
Response.Write("<script>window.alert('File is not exist !')</script>");
return;
}


try
{
FileInfo file = new FileInfo( Driver_Path);
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = false;
string strHadFileName = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(PhysicsFileName));
Response.AddHeader("Content-Type","application/octet-stream");
Response.AddHeader("Content-Disposition", "attachment; filename=" + strHadFileName);  //下载到客户端默认文件名
// 可以看到下载进程
Response.AddHeader("Content-Length", file.Length.ToString());
string strFullName = file.FullName;
Response.WriteFile(strFullName);
Response.Flush();
Response.End();
}
catch
{
      
   }
}
 
或者

FileInfo file = new FileInfo( Driver_Path);
    Response.Clear();
    Response.ClearHeaders();
    Response.ClearContent();
    Response.Buffer = false;
    string strHadFileName = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(PhysicsFileName));
    Response.AddHeader("Content-Type","application/octet-stream");
    Response.AddHeader("Content-Disposition", "attachment; filename=" + strHadFileName);  //下载到客户端默认文件名
    // 可以看到下载进程
    Response.AddHeader("Content-Length", file.Length.ToString());
    string strFullName = file.FullName;
    Response.WriteFile(strFullName);
    Response.Flush();
    Response.End();

 

posted on 2006-02-21 14:30  RIVERSPIRIT  阅读(341)  评论(0)    收藏  举报