예제 #1
0
 /// <summary>
 /// 处理请求
 /// </summary>
 /// <param name="context">上下文对象</param>
 public void ProcessRequest(HttpContext context)
 {
     if (UserInfo.GetCurretnUser(context) != null)
     {
         string path = string.Empty;
         if (context.Request.RawUrl.Contains("?"))
         {
             string temp = context.Request.RawUrl.Substring(0, context.Request.RawUrl.IndexOf("?"));
             path = context.Server.MapPath(temp);
         }
         else
         {
             path = context.Server.MapPath(context.Request.RawUrl);
         }
         try
         {
             string ext = FileOperateHelper.GetFileExt(path);
             context.Response.HeaderEncoding  = Encoding.UTF8;
             context.Response.ContentEncoding = Encoding.UTF8;
             context.Response.ContentType     = FileOperateHelper.GetHttpMIMEContentType(ext);
             context.Response.WriteFile(path);
         }
         catch (Exception ex)
         {
             context.Response.Write(string.Format("异常:{0}", ex.Message));
         }
     }
     else
     {
         context.Response.Write("未登录前不能访问该资源,请登录后访问。<a href='/User/Login.html'>登录</a>");
     }
 }
 /// <summary>
 /// 下载文件
 /// </summary>
 /// <param name="fileName"></param>
 /// <returns></returns>
 public ActionResult DownloadFile(string fileName)
 {
     if (_Request == null)
     {
         _Request = Request;
     }
     try
     {
         var fs = new System.IO.FileStream(HttpUtility.UrlDecode(fileName, Encoding.UTF8), FileMode.Open);
         if (fs != null)
         {
             string ext    = FileOperateHelper.GetFileExt(fileName);
             string tempfn = Path.GetFileName(fileName);
             return(File(fs, FileOperateHelper.GetHttpMIMEContentType(ext), tempfn));
         }
         else
         {
             return(Content("<script>alert('找不到此文件!');</script>"));
         }
     }
     catch (Exception ex)
     {
         return(Content("<script>alert('异常:" + ex.Message + "');</script>"));
     }
 }
예제 #3
0
        /// <summary>
        /// 下载附件
        /// </summary>
        /// <param name="attachId">附件Id</param>
        /// <returns></returns>
        public ActionResult DownloadAttachment(Guid attachId)
        {
            if (_Request == null)
            {
                _Request = Request;
            }
            string         errMsg     = string.Empty;
            Sys_Attachment attachment = CommonOperate.GetEntityById <Sys_Attachment>(attachId, out errMsg);

            if (attachment != null)
            {
                try
                {
                    string tempFile = string.Format("{0}{1}", Globals.GetWebDir(), attachment.FileUrl.ObjToStr().Replace(Globals.GetBaseUrl(), string.Empty));
                    if (WebConfigHelper.GetAppSettingValue("IsLinux") != "true")
                    {
                        tempFile = tempFile.Replace("/", "\\");
                    }
                    string ext = FileOperateHelper.GetFileExt(tempFile);
                    var    fs  = new System.IO.FileStream(tempFile, FileMode.Open);
                    if (fs != null)
                    {
                        return(File(fs, FileOperateHelper.GetHttpMIMEContentType(ext), Url.Encode(attachment.FileName)));
                    }
                }
                catch (Exception ex)
                {
                    return(Content("<script>alert('异常:" + ex.Message + "');</script>"));
                }
            }
            return(Content("<script>alert('找不到此文件!');</script>"));
        }
        /// <summary>
        /// 下载附件
        /// </summary>
        /// <param name="attachId">附件Id</param>
        /// <returns></returns>
        public ActionResult DownloadAttachment(Guid attachId)
        {
            if (_Request == null)
            {
                _Request = Request;
            }
            string         errMsg     = string.Empty;
            Sys_Attachment attachment = CommonOperate.GetEntityById <Sys_Attachment>(attachId, out errMsg);

            if (attachment != null)
            {
                try
                {
                    string pathFlag = System.IO.Path.DirectorySeparatorChar.ToString();
                    string tempFile = string.Format("{0}{1}", Globals.GetWebDir(), attachment.FileUrl.ObjToStr().Replace(Globals.GetBaseUrl(), string.Empty));
                    tempFile = tempFile.Replace("/", pathFlag);
                    string ext = FileOperateHelper.GetFileExt(tempFile);
                    var    fs  = new System.IO.FileStream(tempFile, FileMode.Open);
                    if (fs != null)
                    {
                        string tempfn = attachment.FileName;
                        return(File(fs, FileOperateHelper.GetHttpMIMEContentType(ext), tempfn));
                    }
                }
                catch (Exception ex)
                {
                    return(Content("<script>alert('异常:" + ex.Message + "');</script>"));
                }
            }
            return(Content("<script>alert('找不到此文件!');</script>"));
        }