//파일본명 가져오기 클릭시 링크타고 다운로드 public ActionResult getBbsFileUpload(int?bbs_idx) { try { Mapper.Instance().BeginTransaction(); foreach (string f in Request.Files) { HttpPostedFileBase file = Request.Files[f]; //파일 명가져와 넢 BbsFileModel BbsFIleList = Mapper.Instance().QueryForObject <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel() { bbs_idx = bbs_idx, file_org_nm = file.FileName }); return(Json(bbs_idx)); } return(Json(1)); } catch (Exception ex) { return(Json(new ResultJsonModel { isError = true, resultMessage = ex.Message, resultDescription = ex.ToString() })); } }
public ActionResult BbsFileDownload(int?bbs_file_idx) //11 { System.IO.Stream fStream = null; string fileOrgName = string.Empty; string fileConvName = string.Empty; string filePath = string.Empty; BbsFileModel bbsfile = Mapper.Instance().QueryForObject <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel { bbs_file_idx = bbs_file_idx }); if (bbsfile == null) { throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다. } //foreach () { } fileOrgName = bbsfile.file_org_nm; fileConvName = bbsfile.file_conv_nm; filePath = System.Configuration.ConfigurationManager.AppSettings["BbsFilePath"].ToString() + "\\" + bbsfile.bbs_idx; 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(bbsfile, eActionType.FileDown, this.HttpContext, bbsfile.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)); } }
public JsonResult SetBoardContents() { try { FormCollection collection = new FormCollection(Request.Unvalidated.Form); BbsContentsModel bbsContents = new BbsContentsModel(); bbsContents.bbs_idx = collection["bbs_idx"] == null ? null : (int?)Convert.ToInt32(collection["bbs_idx"].Split(',')[1]); bbsContents.bbs_title = collection["bbs_title"] == null ? "" : collection["bbs_title"].Trim() == "" ? "" : collection["bbs_title"].Split(',')[1]; bbsContents.bbs_content = collection["bbs_content"] == null ? "" : collection["bbs_content"].Trim() == "" ? "" : collection["bbs_content"].Split(',')[1]; bool isNew = bbsContents.bbs_idx == null ? true : false; if (isNew)//신규작성 { Mapper.Instance().BeginTransaction(); bbsContents.create_us = Convert.ToInt32(Session["USER_IDX"]); bbsContents.bbs_category = collection["bbs_category"] == null ? "" : collection["bbs_category"].Trim() == "" ? "" : collection["bbs_category"].Split(',')[1]; int bbs_idx = (int)Mapper.Instance().Insert("Bbs.insBbsContent", bbsContents); foreach (string f in Request.Files) { //xhr에 있. HttpPostedFileBase file = Request.Files[f]; //파일명으로 찾아서 serlec BbsFileModel BbsFIleList = Mapper.Instance().QueryForObject <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel() { bbs_idx = bbs_idx, file_org_nm = file.FileName }); string fileOrgName = file.FileName; string fileExtension = Path.GetExtension(file.FileName); //확장자 string fileName = Path.GetFileNameWithoutExtension(file.FileName); //without확장자 string fileConvNm = AESEncrypt.AESEncrypt256(fileName, bbs_idx.ToString()); string valutPath = System.Configuration.ConfigurationManager.AppSettings["BbsFilePath"].ToString(); int?BbsFIleIdx = (int)Mapper.Instance().Insert("Bbs.insBbsFile", new BbsFileModel { bbs_idx = bbs_idx, file_org_nm = file.FileName, file_conv_nm = fileConvNm + fileExtension }); CommonUtil.FileSave(valutPath + "\\" + bbs_idx, file, fileConvNm + fileExtension);//\은 두개써야함 인식못함. } Mapper.Instance().CommitTransaction(); return(Json(bbsContents)); } else//수정 { Mapper.Instance().BeginTransaction(); bbsContents.bbs_category = collection["bbs_category"] == null ? "" : collection["bbs_category"].Trim() == "" ? "" : collection["bbs_category"].Split(',')[1]; Mapper.Instance().Update("Bbs.udtBbsContent", new BbsContentsModel { bbs_idx = bbsContents.bbs_idx, bbs_category = bbsContents.bbs_category, bbs_title = bbsContents.bbs_title, bbs_content = bbsContents.bbs_content }); var bbsPrevFileList = Mapper.Instance().QueryForList <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel { bbs_idx = bbsContents.bbs_idx }); int prevFileCount = bbsPrevFileList.Count(); foreach (string f in Request.Files) { HttpPostedFileBase file = Request.Files[f]; // 기존에 등록되있으면서 삭제되지 않을 파일 if (file.ContentLength == 0) { continue; } // Insert BbsFileModel BbsFIleList = Mapper.Instance().QueryForObject <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel() { bbs_idx = bbsContents.bbs_idx, file_org_nm = file.FileName }); string fileOrgName = file.FileName; string fileExtension = Path.GetExtension(file.FileName); //확장자 string fileName = Path.GetFileNameWithoutExtension(file.FileName); //without확장자 string fileConvNm = AESEncrypt.AESEncrypt256(fileName, bbsContents.bbs_idx.ToString()); string valutPath = System.Configuration.ConfigurationManager.AppSettings["BbsFilePath"].ToString(); int?BbsFIleIdx = (int)Mapper.Instance().Insert("Bbs.insBbsFile", new BbsFileModel { bbs_idx = bbsContents.bbs_idx, file_org_nm = file.FileName, file_conv_nm = fileConvNm + fileExtension }); CommonUtil.FileSave(valutPath + "\\" + bbsContents.bbs_idx, file, fileConvNm + fileExtension);//\은 두개써야함 인식못함. } for (int iCnt = 0; iCnt < prevFileCount; iCnt++) { bool isExist = false; foreach (string f in Request.Files) { if (bbsPrevFileList[iCnt].file_org_nm == Request.Files[f].FileName) { isExist = true; break; } } if (!isExist) { //DELETE //bbsPrevFileList[iCnt]; BbsFileModel BbsDelFIleList = Mapper.Instance().QueryForObject <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel() { bbs_idx = bbsContents.bbs_idx, file_org_nm = bbsPrevFileList[iCnt].file_org_nm }); var fileIDX = BbsDelFIleList.bbs_file_idx; var bbsIDX = BbsDelFIleList.bbs_idx; setFileDelete(fileIDX); } } Mapper.Instance().CommitTransaction(); return(Json(bbsContents.bbs_idx)); } }//try catch (Exception ex) { Mapper.Instance().RollBackTransaction(); return(Json(new ResultJsonModel { isError = true, resultMessage = ex.Message, resultDescription = ex.ToString() })); } }