using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using FRB = SuperMap.RealEstate.Finance.Running.Business; using FSB = SuperMap.RealEstate.Finance.Storage.Business; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using HZQR.Common; namespace SuperMap.RealEstate.Finance.Compents.uploadData { public partial class DownloadFilePage : Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; if (!string.IsNullOrWhiteSpace(Request["FINANCEPROINST_ID"])) { string paramsStr = "FinanceProinstId=" + Request["FINANCEPROINST_ID"].ToDecrypt(); if (Request["DataType"] == "RUNNING") { paramsStr += "&DataType=0"; } else { paramsStr += "&DataType=1"; } string postUrl = ConfigurationManager.AppSettings["EShangApiMainUrls"] + "/Finance/GetATTACHMENTList?" + paramsStr; string result = Common.Common.HttpUrlPost(paramsStr, postUrl); JObject keyValuePairs = JObject.Parse(result); if (keyValuePairs["Result_Code"].ToString() == "100" && keyValuePairs["Result_Data"]["TotalCount"].TryParseToInt() > 0) { //绑定对应的控件 Repeater1.DataSource = QRWL.Web.Common.DataTableHelper.ToDataTable(keyValuePairs["Result_Data"]["List"].ToString()); } Repeater1.DataBind(); } } #region 方法 -> 附件列表行绑定事件 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.SelectedItem) { DataRowView rowv = (DataRowView)e.Item.DataItem; LinkButton LinkButton = e.Item.FindControl("LinkButton") as LinkButton; LinkButton.Text = "" + rowv["ATTACHMENT_NAME"] + ""; LinkButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt(); } } #endregion #region 方法 -> 附件下载事件 protected void LinkButton_Click(object sender, EventArgs e) { LinkButton LinkButton = sender as LinkButton; string paramsStr = "ATTACHMENTId=" + LinkButton.Attributes["base-code"].ToDecrypt(); if (Request["DataType"] == "RUNNING") { paramsStr += "&DataType=0"; } else { paramsStr += "&DataType=1"; } string postUrl = ConfigurationManager.AppSettings["EShangApiMainUrls"] + "/Finance/GetATTACHMENTDetail?" + paramsStr; string result = Common.Common.HttpUrlPost(paramsStr, postUrl); JObject keyValuePairs = JObject.Parse(result); if (keyValuePairs["Result_Code"].ToString() == "100" && keyValuePairs["Result_Data"]["ATTACHMENT_ID"].ToString() != "") { Common.ATTACHMENTModel ATTACHMENTModel = JsonConvert.DeserializeObject(keyValuePairs["Result_Data"].ToString()); if (ATTACHMENTModel !=null && ATTACHMENTModel.ATTACHMENT_ID != null) { System.IO.MemoryStream ms = new System.IO.MemoryStream(); string uploadPath = HttpContext.Current.Server.MapPath("~/UploadImageDir/FINANCEPROINST/") + (string.IsNullOrWhiteSpace(ATTACHMENTModel.PRESONNAME) ? ATTACHMENTModel.ATTACHMENT_NAME : ATTACHMENTModel.PRESONNAME + "/" + ATTACHMENTModel.ATTACHMENT_NAME); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.Charset = "utf-8"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文 HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + ATTACHMENTModel.ATTACHMENT_NAME, DateTime.Now.ToString("yyyyMMddHHmmssfff"))); HttpContext.Current.Response.BinaryWrite(System.IO.File.ReadAllBytes(uploadPath)); HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 HttpContext.Current.Response.End(); ms.Close(); ms.Dispose(); } } } #endregion } }