103 lines
4.9 KiB
C#
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
|
|
}
|
|
} |