protected void Page_Load(object sender, System.EventArgs e) { Response.ContentType = "application/octet-stream"; int FileId = int.Parse(Request.QueryString["Id"]); if (Request.QueryString["CName"] != null && Request.QueryString["CKey"] != null) { string ContainerName = Request.QueryString["CName"]; string ContainerKey = Request.QueryString["CKey"]; BaseIbnContainer bic = BaseIbnContainer.Create(ContainerName, ContainerKey); Mediachase.IBN.Business.ControlSystem.FileStorage fs = (Mediachase.IBN.Business.ControlSystem.FileStorage)bic.LoadControl("FileStorage"); Mediachase.IBN.Business.ControlSystem.FileInfo fi = fs.GetFile(FileId); if (fi == null) { throw new NotExistingIdException(); } FileHistoryInfo fhiLoad = null; if (Request["VId"] != null) { FileHistoryInfo[] _fhi = fi.GetHistory(); foreach (FileHistoryInfo fhi in _fhi) { if (fhi.Id == int.Parse(Request["VId"])) { fhiLoad = fhi; break; } } } if (fhiLoad == null) { Response.ContentType = fi.FileBinaryContentType; if (fi.FileBinaryContentType.ToLower().IndexOf("url") >= 0) { MemoryStream memStream = new MemoryStream(); fs.LoadFile(FileId, memStream); memStream.Position = 0; StreamReader reader = new StreamReader(memStream, Encoding.Unicode); string data = reader.ReadLine(); string sLink = ""; while (data != null) { if (data.IndexOf("URL=") >= 0) { sLink = data.Substring(data.IndexOf("URL=") + 4); break; } data = reader.ReadLine(); } if (sLink != "") { if (!sLink.StartsWith("http://")) { sLink = "http://" + sLink; } Response.Redirect(sLink); return; } } if (Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType)) { Response.AddHeader("content-disposition", String.Format("inline; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } else { Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } fs.LoadFile(FileId, Response.OutputStream); } else { Response.ContentType = fhiLoad.FileBinaryContentType; if (Mediachase.IBN.Business.Common.OpenInNewWindow(fhiLoad.FileBinaryContentType)) { Response.AddHeader("content-disposition", String.Format("inline; filename=\"{0}\"", GetNameForCurrentBrowser(fhiLoad.Name))); } else { Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", GetNameForCurrentBrowser(fhiLoad.Name))); } fs.LoadFile(fhiLoad, Response.OutputStream); } } else { Mediachase.IBN.Business.ControlSystem.FileInfo fi = Mediachase.IBN.Business.ControlSystem.FileStorage.GetFile(Mediachase.IBN.Business.Security.CurrentUser.UserID, "Read", FileId); if (fi == null) { throw new NotExistingIdException(); } Response.ContentType = fi.FileBinaryContentType; if (Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType)) { Response.AddHeader("content-disposition", String.Format("inline; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } else { Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } Mediachase.IBN.Business.ControlSystem.FileStorage.LightLoadFile(fi, Response.OutputStream); } Response.End(); }
private void BindValues() { ddlPriority.DataSource = Incident.GetListPriorities(); ddlPriority.DataTextField = "PriorityName"; ddlPriority.DataValueField = "PriorityId"; ddlPriority.DataBind(); ddlProjects.DataSource = Incident.GetListProjects(); ddlProjects.DataTextField = "Title"; ddlProjects.DataValueField = "ProjectId"; ddlProjects.DataBind(); ListItem liNew = new ListItem(LocRM.GetString("ProjectNotSet"), "-1"); ddlProjects.Items.Insert(0, liNew); ddlProjects.DataSource = null; ddlProjects.DataBind(); ClearMHTCache(Server.MapPath(CommonHelper.ChartPath)); /// Pop3MailRequestId, Sender, SenderIbnUserId, FirstName, LastName, Subject, InnerText, /// Priority, PriorityName, Pop3BoxId, Received, MhtFileId, SenderType, Pop3BoxName using (IDataReader rdr = IssueRequest.Get(RequestId)) { if (rdr.Read()) { txtSubject.Text = rdr["Subject"].ToString(); txtDescription.Text = rdr["InnerText"].ToString(); Pop3BoxId = (int)rdr["Pop3BoxId"]; CommonHelper.SafeSelect(ddlPriority, rdr["Priority"].ToString()); if (rdr["SenderIbnUserId"] != DBNull.Value) { lblSender.Text = CommonHelper.GetUserStatus((int)rdr["SenderIbnUserId"]); lblText.Text = LocRM.GetString("ADText"); btnApproveCrete.Visible = false; } else { if (rdr["FirstName"].ToString() != String.Empty || rdr["LastName"].ToString() != String.Empty) { lblSender.Text = String.Format("<a href='mailto:{0}'>{1} {2}</a> ({3})", rdr["Sender"].ToString(), rdr["LastName"].ToString(), rdr["FirstName"].ToString(), LocRM.GetString("Unknown")); } else { lblSender.Text = String.Format("<a href='mailto:{0}'>{0}</a> ({1})", rdr["Sender"].ToString(), LocRM.GetString("Unknown")); } lblText.Text = LocRM.GetString("ADTextExternal"); } lblReceived.Text = ((DateTime)rdr["Received"]).ToShortDateString(); lnkMailBox.Text = rdr["Pop3BoxName"].ToString(); lnkMailBox.NavigateUrl = String.Format("~/Incidents/default.aspx?BTab=MailIncidents&MailBoxId={0}", rdr["Pop3BoxId"].ToString()); int mhtFileId = -1; if (rdr["MhtFileId"] != DBNull.Value) { mhtFileId = (int)rdr["MhtFileId"]; } if (mhtFileId > 0) { string wwwpath = CommonHelper.ChartPath + Guid.NewGuid().ToString() + ".mht"; Mediachase.IBN.Business.ControlSystem.FileStorage fileStorage = IssueRequest.GetFileStorage(RequestId); using (Stream sw = File.Create(Server.MapPath(wwwpath))) { fileStorage.LoadFile(mhtFileId, sw); } iSrc = ResolveUrl(wwwpath); } else { trMHT.Visible = false; } } else { Response.Redirect("~/common/NotExistingId.aspx?IncidentId=" + RequestId); } } }
protected void Page_Load(object sender, System.EventArgs e) { // Check Security if (Security.CurrentUser == null) { int iObjectTypeId = -1; int iObjectId = -1; using (IDataReader reader = Mediachase.IBN.Business.User.GetGateByGuid(ExternalID)) { if (reader.Read()) { iObjectTypeId = (int)reader["ObjectTypeId"]; iObjectId = (int)reader["ObjectId"]; } } if (iObjectTypeId != (int)ObjectTypes.Issue) { throw new AccessDeniedException(); } } // Download Response.ContentType = "application/octet-stream"; int FileId = int.Parse(Request.QueryString["Id"]); string ContainerName = Request.QueryString["CName"]; string ContainerKey = Request.QueryString["CKey"]; if (!String.IsNullOrEmpty(ContainerName) && !String.IsNullOrEmpty(ContainerKey)) { BaseIbnContainer bic = BaseIbnContainer.Create(ContainerName, ContainerKey); Mediachase.IBN.Business.ControlSystem.FileStorage fs = (Mediachase.IBN.Business.ControlSystem.FileStorage)bic.LoadControl("FileStorage"); FileInfo fi = fs.GetFile(FileId); if (fi == null) { throw new NotExistingIdException(); } FileHistoryInfo fhiLoad = null; if (Request["VId"] != null) { FileHistoryInfo[] _fhi = fi.GetHistory(); foreach (FileHistoryInfo fhi in _fhi) { if (fhi.Id == int.Parse(Request["VId"])) { fhiLoad = fhi; break; } } } if (fhiLoad == null) { Response.ContentType = fi.FileBinaryContentType; if (Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType)) { Response.AddHeader("content-disposition", String.Format("inline; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } else { Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } fs.LoadFile(FileId, Response.OutputStream); } else { Response.ContentType = fhiLoad.FileBinaryContentType; if (Mediachase.IBN.Business.Common.OpenInNewWindow(fhiLoad.FileBinaryContentType)) { Response.AddHeader("content-disposition", String.Format("inline; filename=\"{0}\"", GetNameForCurrentBrowser(fhiLoad.Name))); } else { Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", GetNameForCurrentBrowser(fhiLoad.Name))); } fs.LoadFile(fhiLoad, Response.OutputStream); } } else { Mediachase.IBN.Business.ControlSystem.FileInfo fi = Mediachase.IBN.Business.ControlSystem.FileStorage.GetFile(Mediachase.IBN.Business.Security.CurrentUser.UserID, "Read", FileId); if (fi == null) { throw new NotExistingIdException(); } Response.ContentType = fi.FileBinaryContentType; if (Mediachase.IBN.Business.Common.OpenInNewWindow(fi.FileBinaryContentType)) { Response.AddHeader("content-disposition", String.Format("inline; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } else { Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", GetNameForCurrentBrowser(fi.Name))); } Mediachase.IBN.Business.ControlSystem.FileStorage.LightLoadFile(fi, Response.OutputStream); } Response.End(); }