怎样点击一个连接形成一个下载,就像邮件的附件一样,一点击就下载--等待
//此处提供下载的方法,你可以通过别的地方来调用,参数为文件名
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();