Ejemplo n.º 1
0
    public string GetEmailLogAttachmentsList()
    {
        #region EmailLogAttachments

        LPWeb.BLL.EmailLog bllEmailLog = new EmailLog();

        var dt = bllEmailLog.GetEmailLogAttachments(iEmailLogID);

        if (dt != null && dt.Rows.Count > 0)
        {
            StringBuilder sb = new StringBuilder();
            foreach (DataRow dr in dt.Rows)
            {
                sb.Append(" <tr> ");
                sb.Append("     <td style=\" width:40px;\"></td>");
                sb.Append("     <td><a href=\"EmailLogAttachmentsPopup.aspx?CloseDialogCodes=&EmailLogID=" + dr["EmailLogId"].ToString() + "&fileName=" + dr["Name"].ToString() + "." + dr["FileType"].ToString() + "\" target=\"_blank\" >").Append(dr["Name"].ToString()).Append(".").Append(dr["FileType"].ToString()).Append("</a></td>");
                sb.Append(" </tr>");
            }
            return(sb.ToString());
        }

        #endregion

        return(string.Empty);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 校验页面参数

        string sCloseDialogCodes = this.Request.QueryString["CloseDialogCodes"].ToString() + ";";

        bool bIsValid = PageCommon.ValidateQueryString(this, "EmailLogID", QueryStringType.ID);
        if (bIsValid == false)
        {
            PageCommon.WriteJsEnd(this, "Missing required query string.", sCloseDialogCodes);
        }
        this.iEmailLogID = Convert.ToInt32(this.Request.QueryString["EmailLogID"]);

        #endregion

        #region 加载EmailLog

        DataTable EmailLogList = this.GetEmailLogInfo(this.iEmailLogID);
        if (EmailLogList.Rows.Count == 0)
        {
            PageCommon.WriteJsEnd(this, "Invalid Email Log ID.", sCloseDialogCodes);
        }

        string sChainId = EmailLogList.Rows[0]["ChainId"].ToString();
        EmailLog_FileId = EmailLogList.Rows[0]["FileId"].ToString();
        Sentlast        = EmailLogList.Rows[0]["LastSent"].ToString();


        LPWeb.BLL.EmailLog bllEmailLog = new EmailLog();

        var dt = bllEmailLog.GetEmailLogAttachments(iEmailLogID);

        gridList.DataSource = dt;
        gridList.DataBind();


        #endregion

        #region Out put file
        bIsValid = PageCommon.ValidateQueryString(this, "fileName", QueryStringType.String);
        if (bIsValid)
        {
            string fileName = this.Request.QueryString["fileName"].ToString();

            foreach (DataRow dr in dt.Rows)
            {
                if (dr["Name"].ToString().Trim() + "." + dr["FileType"].ToString().Trim() == fileName.Trim())
                {
                    byte[] file = (byte[])dr["FileImage"];

                    Response.Clear();
                    Response.Charset         = "UTF-8";
                    Response.ContentEncoding = Encoding.Default;

                    string FileType = dr["FileType"].ToString().Trim();
                    string Name     = dr["Name"].ToString().Trim();
                    // 文件扩展名
                    string Ext = "";
                    if (FileType == "Word" || FileType.ToLower() == "docx")
                    {
                        Ext = ".docx";
                    }
                    else if (FileType.ToLower() == "doc")
                    {
                        Ext = ".doc";
                    }
                    else if (FileType.ToUpper() == "XLS" || FileType.ToUpper() == "XLSX")
                    {
                        Ext = ".xlsx";
                    }
                    else if (FileType == "JPGE")
                    {
                        Ext = ".jpg";
                    }
                    else
                    {
                        Ext = "." + FileType.ToLower();
                    }

                    // 文件名
                    string sFileName = Name + Ext;

                    this.Response.Clear();
                    this.Response.ClearHeaders();
                    this.Response.Buffer = false;
                    if (FileType == "PDF")
                    {
                        this.Response.ContentType = "application/pdf";
                    }
                    else if (FileType == "Word")
                    {
                        this.Response.ContentType = "application/msword";
                    }
                    else if (FileType == "XLS")
                    {
                        this.Response.ContentType = "application/vnd.ms-excel";
                    }
                    else if (FileType == "ZIP")
                    {
                        this.Response.ContentType = "application/zip";
                    }
                    else
                    {
                        this.Response.ContentType = "application/octet-stream";
                    }

                    if (FileType == "ZIP" || FileType == "Word" || FileType == "XLS")
                    {
                        this.Response.AppendHeader("Content-Disposition", "attachment;filename=" + sFileName);
                    }
                    else
                    {
                        this.Response.AppendHeader("Content-Disposition", "inline;filename=" + sFileName);
                    }
                    this.Response.BinaryWrite(file);
                    this.Response.Flush();
                    Response.End();
                }
            }
        }
        #endregion
    }