2025-03-27 15:05:14 +08:00

103 lines
4.9 KiB
C#

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 = "<span><img src='/Finance/Resources/v1_0/Images/4950_old-versions.png' />" +
rowv["ATTACHMENT_NAME"] + "</span>";
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<Common.ATTACHMENTModel>(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
}
}