如何下载服务器中的文件?代码怎样写?

解决方案 »

  1.   

    //上传
    FillPath = FileUpload1.PostedFile.FileName;
                FillPath1 = FillPath;
                //取得文件名(抱括路径)里最后一个"."的索引
                i = FillPath.Length - FillPath.LastIndexOf("\\") - 1;//取整个路径的总长度
                FillPath = FillPath.Substring(FillPath.LastIndexOf("\\") + 1, i);//取带类型的文件名
                Path = strPath  + FillPath;            int j = FillPath.Length;//文件名加文件类型的长度
                i = FillPath.Length - FillPath.LastIndexOf(".") - 1;//取文件以点结束的类型长度
                FillGenre = FillPath.Substring(FillPath.LastIndexOf(".") + 1, i);//取文件类型
                i = FillGenre.Length;//文件类型的长度
                i = j - (i+1);
                FillName = FillPath.Remove(i);
                if (FillGenre.ToLower()== this.DropDown_Genre.Text.ToString().Trim().ToLower())
                {
                    File.Copy(FillPath1, Server.MapPath("媒体文件//" + FillPath));//保存文件到指定路径
                    try
                    {
                        sendStrSQL = "('" + FillName + "','" + FillGenre + "','" + Path + "')";
                        sendStrSQL = "insert FillName ([FillName],FillGenre,PathName) values " + sendStrSQL;//保存
                        dataBase();
                        this.lblMessBox.Text = "上传媒体成功";
                    }
                    catch (Exception)
                    {
                        this.lblMessBox.Text = "上传数据出错!请重新上传";
                    }
                }
                else
                {
                    this.lblMessBox.Text = "上传的文件类型与选择的类型不一致!";
                }
            }
            else
            {
                this.lblMessBox.Text = "请点击浏览再上传!";
            }
        }
    //下载
     protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["flag"] == null || Session["flag"].ToString() != "aa")//判断Session的值是否为空,如果为空跳回主登录界面
            {
                Response.Redirect("Home.aspx");
            }
            else
            {
                try
                {
                    this.lblTxtPaht.Text = Request["id"].ToString();//得到指定ID
                    sendStrSQL = "select * from FillName where id=" + Convert.ToInt32(this.lblTxtPaht.Text.Trim());//查找指定ID的数据
                    dataBase();                Path = ds.Tables[0].Rows[0][3].ToString().Trim();//取出指定的媒体名
                    lblFillName.Text = ds.Tables[0].Rows[0][1].ToString().Trim();//从数据库中取出整个路径
                    int i = Path.Length - Path.LastIndexOf("\\") - 1;//路径长度
                    Path = Path.Substring(Path.LastIndexOf("\\") + 1, i);//带文件格式的文件名
                    this.Hyper_Downloading.NavigateUrl = ("媒体文件\\" + Path).ToString();//下载连接1
                    this.HyperDownloading_W.NavigateUrl =("媒体文件\\" + Path).ToString();//下载连接2
                }
                catch (Exception en)
                {
                    en.HelpLink = "Browse.aspx";
                }
            }