Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            long id  = long.Parse(Request.QueryString["id"]);
            var  att = bll.GetAttachment(id);

            if (att.type_id == (int)DicEnum.ATTACHMENT_TYPE.ATTACHMENT)
            {
                FileStream fs    = new FileStream(Server.MapPath(att.href), FileMode.Open);
                byte[]     bytes = new byte[(int)fs.Length];
                fs.Read(bytes, 0, bytes.Length);
                fs.Close();

                Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(att.filename, Encoding.UTF8));
                Response.ContentEncoding = Encoding.UTF8;
                Response.ContentType     = "application/octet-stream";
                Response.BinaryWrite(bytes);
                Response.Buffer = true;
                Response.Flush();
            }
            else if (att.type_id == (int)DicEnum.ATTACHMENT_TYPE.URL)
            {
                Response.Redirect(att.filename);
            }
            else if (att.type_id == (int)DicEnum.ATTACHMENT_TYPE.FILE_LINK ||
                     att.type_id == (int)DicEnum.ATTACHMENT_TYPE.FOLDER_LINK)
            {
                filePath = att.filename;
            }
        }
Exemple #2
0
        /// <summary>
        /// 打开附件
        /// </summary>
        /// <param name="context"></param>
        private void OpenAttachment(HttpContext context)
        {
            long id  = long.Parse(context.Request.QueryString["id"]);
            var  att = bll.GetAttachment(id);

            if (att.type_id == (int)DicEnum.ATTACHMENT_TYPE.ATTACHMENT)
            {
                FileStream fs    = new FileStream(context.Server.MapPath(att.href), FileMode.Open);
                byte[]     bytes = new byte[(int)fs.Length];
                fs.Read(bytes, 0, bytes.Length);
                fs.Close();

                context.Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode(att.filename, Encoding.UTF8));
                context.Response.ContentEncoding = Encoding.UTF8;
                context.Response.ContentType     = "application/octet-stream";
                context.Response.BinaryWrite(bytes);
                context.Response.Buffer = true;
                context.Response.Flush();
            }
        }