using System; using System.Collections.Generic; using System.Linq; using System.IO; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.common.SysManage { public partial class DataBak : PageBase { /// /// 数据库名称 /// public string DataName { get { return (string)ViewState["DataName"]; } set { ViewState["DataName"] = value; } } public string FilePath { get { return (string)ViewState["FilePath"]; } set { ViewState["FilePath"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.LbtnDownLoad.Hidden = true; string str = BLL.Funs.ConnString; string[] group = str.Split(';'); foreach (string s in group) { if (s.Contains("Database")) { string[] bak = s.Split('='); DataName = bak[1]; } } } } protected void btnSave_Click(object sender, EventArgs e) { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId,this.CurrUser.UserId, BLL.Const.DataBakMenuId, BLL.Const.BtnDataBak)) { string newname = DataName + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + ".bak"; string nepath = Server.MapPath("../../App_Data/") + newname; FilePath = "App_Data\\" + newname; string sql = "BACKUP DATABASE " + DataName + " to DISK ='" + nepath + "'"; try { if (!File.Exists(nepath)) { BLL.SQLHelper.ExecutSql(sql); } } catch (Exception ex) { ScriptManager.RegisterStartupScript(this, typeof(string), "_alert", "alert('数据库备份失败,原因:" + ex.Message.ToString() + "')", true); } string path = "../../App_Data/" + newname; this.LbtnDownLoad.Text = "文件" + newname + "已成功备份到服务器, 请点击下载到本地!"; LbtnDownLoad.Hidden = false; } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } protected void LbtnDownLoad_Click(object sender, EventArgs e) { //string url = BLL.Funs.RootPath + FilePath; //FileInfo info = new FileInfo(url); //string fileName = Path.GetFileName(url); //long fileSize = info.Length; //if (fileSize < 102400000) //{ // System.Web.HttpContext.Current.Response.Clear(); // System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed"; // System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); // System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString()); // System.Web.HttpContext.Current.Response.TransmitFile(url, 0, fileSize); // System.Web.HttpContext.Current.Response.Flush(); // System.Web.HttpContext.Current.Response.Close(); //} //else //{ // ShowNotify("文件太大(超过100M),请写管理员联系!"); //} ShowFile(FilePath); } } }