protected void LinkButton1_Click(object sender, EventArgs e)
        {
 string fileName = "C#俄罗斯.doc";
[color=#FF0000]string filePath = Server.MapPath("/C#俄罗斯.doc");//路径
[/color]
            FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[(int)fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();
            Response.ContentType = "application/octet-stream";
            Response.AddHeader("Content-Disposition", "attachment;   filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
            Response.BinaryWrite(bytes);
            Response.Flush();
            Response.End();
        }
关于Server.MapPath()里面怎么写虚拟路径呢?我把文档保存在D:\object\web查询发布\web查询发布\ 里面才能有下载 如果把文档保存在别的地方比如D:\
里面的话在Server.MapPath()里面如何写虚拟路径呢? 麻烦帮下忙!新手不太懂。。

解决方案 »

  1.   

    比如..\a.htm 表示上级目录的htm文件, ..\..\b.htm表示上上级目录的文件,以次类推。
      

  2.   

    string filePath = Server.MapPath("~/C#俄罗斯.doc");
      

  3.   

    刚才看错了,重新回答一下我把文档保存在D:\object\web查询发布\web查询发布\ 里面才能有下载 如果把文档保存在别的地方比如D:\ 
    里面的话在Server.MapPath()里面如何写虚拟路径呢? 麻烦帮下忙!新手不太懂。。
    ————————————————————————————————————————————————string filePath = "D:\\somefile.doc";如果在其它地方,可以直接把文件路径给filePath变量,不需要再去用Server.MapPath()函数了,直接给文件的路径,其它盘里的也可以,例如:string filePath = "C:\\somefile2.doc";。