Esempio n. 1
0
        public void DownLoadProject(string id)
        {
            string[]  arrStr   = id.Split('/');
            string    informNo = arrStr[0];
            DataTable dtInfo   = ContractMan.GetNewDownloadFileProject(informNo);

            if (dtInfo.Rows[0][0].ToString() != "")
            {
                string fileName = dtInfo.Rows[0]["FileName"].ToString();          //客户端保存的文件名
                string filePath = System.Configuration.ConfigurationSettings.AppSettings["UPProject"] + "\\"
                                  + dtInfo.Rows[0]["FileInfo"] + "\\" + fileName; //路径

                //以字符流的形式下载文件
                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();
            }
        }