示例#1
0
        public ActionResult DistPdfViewer(int?dist_file_idx)
        {
            string fileOrgName  = string.Empty;
            string fileConvName = string.Empty;
            string filePath     = string.Empty;


            DistRecvFileModel distFile = Mapper.Instance().QueryForObject <DistRecvFileModel>("DIST.selDistRecvFile", new DistRecvFileModel {
                dist_file_idx = dist_file_idx, recv_us = Convert.ToInt32(Session["USER_IDX"])
            });

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

            if (distFile.recv_dist_st == "DF")
            {
                throw new Exception(Resources.Resource.res0297);//배포가 만료된 파일입니다.
            }

            fileOrgName  = distFile.file_org_nm;
            fileConvName = distFile.file_conv_nm;

            if (distFile.is_itf == "N")
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + distFile.dist_idx;
            }
            else
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + distFile.part_no;
            }

            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));

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

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

            ViewBag.Massage  = null;
            ViewBag.FileName = fPath;
            return(View("PdfViewer"));
        }
示例#2
0
        public JsonResult GetDistRecvFileList(DistRecvFileModel searchModel)
        {
            var distFileList = Mapper.Instance().QueryForList <DistRecvFileModel>("DIST.selDistRecvFile", searchModel);

            return(Json(distFileList));
        }
示例#3
0
        /// <summary>
        /// 수신자가 다운로드 받는 함수
        /// </summary>
        /// <param name="dist_file_idx"></param>
        /// <returns></returns>
        public ActionResult DistFileDownload(int?dist_file_idx)
        {
            System.IO.Stream fStream      = null;
            string           fileOrgName  = string.Empty;
            string           fileConvName = string.Empty;
            string           filePath     = string.Empty;


            DistRecvFileModel distFile = Mapper.Instance().QueryForObject <DistRecvFileModel>("DIST.selDistRecvFile", new DistRecvFileModel {
                dist_file_idx = dist_file_idx, recv_us = Convert.ToInt32(Session["USER_IDX"])
            });
            DistMasterModel dist = Mapper.Instance().QueryForObject <DistMasterModel>("DIST.selDistMaster", new DistMasterModel {
                dist_idx = distFile.dist_idx
            });

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

            if (dist.dist_st == "CR")
            {
                throw new Exception("배포가 진행되지 않는 파일입니다.");
            }

            if (dist.dist_st == "DF" && distFile.recv_dist_st == "DF")
            {
                throw new Exception(Resources.Resource.res0297);//배포가 만료된 파일입니다.
            }

            fileOrgName  = distFile.file_org_nm;
            fileConvName = distFile.file_conv_nm;

            if (distFile.is_itf == "N")
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + distFile.dist_idx;
            }
            else
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + distFile.part_no;
            }

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

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

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