运行ASP.NET的下载文件页面,出来下载提示框后下载一直处于等待状态
protected void Page_Load(object sender, EventArgs e){
if (!Page.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Name", typeof(string)));
string serverPath = Server.MapPath("File");//根目录下得file文件夹
DirectoryInfo dir = new DirectoryInfo(serverPath);
foreach (FileInfo fileName in dir.GetFiles())
{
DataRow dr = dt.NewRow();
dr[0] = fileName;
dt.Rows.Add(dr);
}
ListBox1.DataSource = dt;
ListBox1.DataTextField = "Name";
ListBox1.DataValueField = "Name";
ListBox1.DataBind();
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Session["txt"] = ListBox1.SelectedValue.ToString();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
if (Session["txt"] != "")
{
//string FileName=Server.MapPath("../load/jtcy_ryxx.txt");
string path = Server.MapPath("File/") + Session["txt"].ToString();
FileInfo fi = new FileInfo(path);//用于获得文件信息
if (fi.Exists)
{
//Response.AddHeader("Content-Disposition", "attachment;filename=" +Server.HtmlDecode( fi.Name));
Response.Clear();//清空输出
Response.Charset = "GB2312";//设定编码
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(path));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", fi.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-txt";
Response.Flush();
// 把文件流发送到客户端
Response.WriteFile(fi.FullName );
Response.End();
}
}
} asp.net 文件下载 --------------------编程问答-------------------- --------------------编程问答-------------------- 是不是文件太大了,我记得上传的时候,如果文件太大的话,就会一直处于等待状态 --------------------编程问答-------------------- 为什么用session?不同进程不能共享session
打开个新页面,把文件名作为参数
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答-------------------- 根目录下的那些文件都很小的 --------------------编程问答-------------------- 我把需要下载的文件都放在根目录的file文件夹下,文件都很小。用session应该不会影响吧
补充:.NET技术 , ASP.NET