我在后台调用了js的一个方法给他传了文件url,我如何用js通过地址点击下载或打开,就像一般网站那种下载效果。

解决方案 »

  1.   


     string saveFileName = "\\ForeGroundUI\\Xml\\down.xml"; //这是要下载的文件            Response.Clear();
                Response.Buffer = true;
                //Response.Charset = "utf-8";//可有可无?            //下面两个语句是一个含义,不知网上的人为什么要加一个this,非常的不解!
                //this.EnableViewState = false;
                EnableViewState = false;            //Response.ContentType = "application/ms-excel"; //可有可无?
                //Response.ContentEncoding = System.Text.Encoding.UTF8;//可有可无?            //直接写下面的语句,客户端看到的文件名是乱码
                //Response.AppendHeader("Content-Disposition","attachment;filename=" + saveFileName); 
                //必须写成这种
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(saveFileName, Encoding.UTF8));            Response.WriteFile(saveFileName);
                Response.Flush();            Response.End();//End和Close的顺序是什么,测试时,两个位置排列交换后对执行没有任何影响
                Response.Close();