Example #1
0
        public ActionResult PdfViewer(int?link_file_idx, string is_itf)
        {
            string fileOrgName  = string.Empty;
            string fileConvName = string.Empty;
            string filePath     = string.Empty;

            if (is_itf == "N")
            {
                DistTempFileModel fileInfo = Mapper.Instance().QueryForObject <DistTempFileModel>("DIST.selDistTempFile", new DistTempFileModel {
                    temp_file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + fileInfo.dist_idx;

                LogCtrl.SetLog(fileInfo, eActionType.FileView, this.HttpContext, fileInfo.file_org_nm);
            }
            else
            {
                ItfFileInfo fileInfo = Mapper.Instance().QueryForObject <ItfFileInfo>("ITF.selItfFIleInfo", new ItfFileInfo {
                    file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + fileInfo.part_no;

                LogCtrl.SetLog(fileInfo, eActionType.FileView, this.HttpContext, fileInfo.file_org_nm);
            }

            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = @Resources.Resource.res0366; // 파일이 없습니다.
                return(View());
            }

            PdfWatermark watermark     = new PdfWatermark();
            string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));

            string fPath = System.Configuration.ConfigurationManager.AppSettings["ViewTempFileUrl"].ToString() + "/" + Path.GetFileName(watermarkFile);

            ViewBag.Massage  = null;
            ViewBag.FileName = fPath;
            return(View());
            //return View("PdfFileViewer" + (System.Web.HttpUtility.UrlEncode(fPath, System.Text.Encoding.GetEncoding("utf-8"))).Replace("+", "%20"));
        }
Example #2
0
        public ActionResult DistTempFileUpload(int?dist_idx)
        {
            try
            {
                if (Request.Files == null)
                {
                    throw new Exception(Resources.Resource.res0221);                         /*업로드할 파일이 존재하지 않습니다*/
                }

                try
                {
                    Mapper.Instance().BeginTransaction();

                    if (dist_idx == null)
                    {
                        dist_idx = SetDistMaster(new DistMasterModel()
                        {
                            eo_fl = "Y", dist_st = "CR", create_us = Convert.ToInt32(Session["USER_IDX"])
                        });
                    }

                    foreach (string f in Request.Files)
                    {
                        HttpPostedFileBase file = Request.Files[f];

                        DistTempFileModel distTempFileList = Mapper.Instance().QueryForObject <DistTempFileModel>("DIST.selDistTempFile", new DistTempFileModel()
                        {
                            dist_idx = dist_idx, file_org_nm = file.FileName
                        });

                        if (distTempFileList != null)
                        {
                            throw new Exception(Resources.Resource.res0327);//한 배포 건 안에 동일한 이름의 파일을 업로드 할 수 없습니다
                        }

                        string fileOrgName   = file.FileName;
                        string fileExtension = Path.GetExtension(file.FileName);
                        string fileName      = Path.GetFileNameWithoutExtension(file.FileName);
                        string fileConvNm    = AESEncrypt.AESEncrypt256(fileName, dist_idx.ToString());

                        int?tempFileIdx = (int)Mapper.Instance().Insert("DIST.insDistTempFile", new DistTempFileModel {
                            dist_idx = dist_idx, file_org_nm = file.FileName, file_conv_nm = fileConvNm + fileExtension
                        });

                        string valutPath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString();
                        CommonUtil.FileSave(valutPath + "\\" + dist_idx, file, fileConvNm + fileExtension);

                        LogCtrl.SetLog(new DistTempFileModel {
                            dist_idx = dist_idx, temp_file_idx = tempFileIdx
                        }, eActionType.DistLocalFileSave, this.HttpContext, fileOrgName);
                    }

                    SetRecieverLinkFile(dist_idx);
                    Mapper.Instance().CommitTransaction();
                    return(Json(dist_idx));
                }
                catch (Exception ex)
                {
                    Mapper.Instance().RollBackTransaction();
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                return(Json(new ResultJsonModel {
                    isError = true, resultMessage = ex.Message, resultDescription = ex.ToString()
                }));
            }
        }
Example #3
0
        /// <summary>
        /// 일반 사용자가 내부 파일 받을 때 쓰는 함수
        /// </summary>
        /// <param name="link_file_idx"></param>
        /// <param name="is_itf"></param>
        /// <returns></returns>
        public ActionResult FileDownload(int?link_file_idx, string is_itf)
        {
            System.IO.Stream fStream      = null;
            string           fileOrgName  = string.Empty;
            string           fileConvName = string.Empty;
            string           filePath     = string.Empty;

            if (is_itf == "N")
            {
                DistTempFileModel fileInfo = Mapper.Instance().QueryForObject <DistTempFileModel>("DIST.selDistTempFile", new DistTempFileModel {
                    temp_file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + fileInfo.dist_idx;

                LogCtrl.SetLog(fileInfo, eActionType.FileDown, this.HttpContext, fileInfo.file_org_nm);
            }
            else
            {
                ItfFileInfo fileInfo = Mapper.Instance().QueryForObject <ItfFileInfo>("ITF.selItfFIleInfo", new ItfFileInfo {
                    file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + fileInfo.part_no;

                LogCtrl.SetLog(fileInfo, eActionType.FileDown, this.HttpContext, fileInfo.file_org_nm);
            }

            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = Resources.Resource.res0366; // 파일이 없습니다.
                return(View());
            }

            if (fileConvName.ToLower().Contains(".pdf"))
            {
                PdfWatermark watermark     = new PdfWatermark();
                string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));
                fStream = CommonUtil.FileStream(watermarkFile);
            }
            else
            {
                fStream = CommonUtil.FileStream(filePath, fileConvName);
            }

            if (Request.Browser.Browser == "IE" || Request.Browser.Browser == "InternetExplorer")
            {
                return(File(fStream, MediaTypeNames.Application.Octet, HttpUtility.UrlEncode(fileOrgName, System.Text.Encoding.UTF8)));
            }
            else
            {
                return(File(fStream, MediaTypeNames.Application.Octet, fileOrgName));
            }
        }