/// <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>")); } }
/// <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>")); }