怎样从服务器数据库下载一个文件:先保存到服务器,在打开下载到本地机器??

解决方案 »

  1.   

    //读取数据 
    byte[] filedata = new byte[10240000];
    string filename = string.Empty;
    int fLength;filename  = ds.Tables[0].Rows[0][""].ToString().Trim();
    filedata  = (byte[])ds.Tables[0].Rows[0][""];
    fLength  = filedata.Length;//生成文件
    string path = "";
    if(Directory.Exists(@"c:\\..\\..\\")==true)
    {
    foreach (string FileName in Directory.GetFiles(@"c:\\..\\..\\"))
    {
    File.Delete(FileName);
    }
    }
    else
    {
    path = System.IO.Directory.CreateDirectory(@"c:\\..\\..\\").ToString();
    }
    path = @"c:\\..\\..\\" + filename;FileStream fs = new FileStream(path,FileMode.Create);
    fs.Write(filedata,0,fLength);
    fs.Close();
    下载文件,最后新开一个页面做下载
    try
    {
    string sFileFullPath = @"c:\\..\\..\\";
    string sFileName = this.Request.QueryString["fileName"].ToString();if (sFileName == null || sFileName == "")
    {
    Response.Write("<script language=javascript><script>");
    return;
    }sFileFullPath = sFileFullPath + sFileName;Response.ContentType = "Application/unknown";
    Response.AddHeader ("Content-Disposition", string.Format("attachment;filename=\"{0}\"",  HttpUtility.UrlEncode(sFileName,Encoding.UTF8 )));
    Response.WriteFile(sFileFullPath);
    Response.End ();   
    }
    catch (Exception err)
    {
    throw new Exception(err.ToString());
    }