예제 #1
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>"));
        }