asp.net实现下载功能


这里面用了一个ListBox控件和一个按钮,.net2.0和.net3.5都能行,1.1没试过,记得引入文件流命名空间  

    protected void Page_Load(object sender, EventArgs e)
    {
        string directoryPath = Server.MapPath("~/Testdirector");
        DirectoryInfo dir = new DirectoryInfo(directoryPath);
        FileSystemInfo[] infos = dir.GetFileSystemInfos();
        ListItem myitem;
        foreach (FileSystemInfo myfile in infos)
        {
            myitem = new ListItem();
            myitem.Text = myfile.Name;
            myitem.Value = myfile.FullName;
            ListBox1.Items.Add(myitem);
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string SelectName = ListBox1.SelectedItem.Value;
        string saveFileName = ListBox1.SelectedItem.Text;
        FileInfo finfo = new FileInfo(SelectName);
        Response.Clear();
        Response.Charset = "utf-8";
        Response.Buffer = true;
        this.EnableViewState = false;
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(saveFileName));
        Response.ContentType = "application/unknown";
        Response.WriteFile(SelectName);
        Response.Flush();
        Response.Close();
        Response.End();
    }

posted @ 2011-03-24 22:47  塰杺茚佡  阅读(131)  评论(0)    收藏  举报