728x90
반응형
public ActionResult ResumeDownload(int idx)
{
try
{
DataSet ds = DataAccess.Get_FileInfo(idx); //idx로 db에서 파일정보 가져오기
string fileName = ds.Tables[0].Rows[0]["FileName"].ToString(); //파일명
var filePath = Server.MapPath(AttachFilePath.AttachedFilePath + fileName); //파일경로 가져오기
if (System.IO.File.Exists(filePath)) //파일 존재여부 확인
{
PersonalInfoLog log = new PersonalInfoLog
log.Desc = "이러쿵 저러쿵 해서 개인정보 파일 다운로드 받았음";
log.IP = Request.ServerVariables["REMOTE_ADDR"];
log.RegisterIdx = 로그인한 사람 idx
log.RegDate = DateTime.Now;
DataAccess.Add_DownloadLog(log); //개인정보 다운로드 이력 insert
using (ZipFile zip = new ZipFile())
{
zip.Password = DateTime.Now.ToString("yyyyMMdd"); //AddFile 앞에 있어야 함.
zip.AddFile(resumePath, "");
using (var stream = new MemoryStream())
{
stream.Seek(0, SeekOrigin.Begin);
zip.Save(stream);
return File(stream.ToArray(), "appliation/zip", "개인정보파일.zip");
}
}
}
else {
throw new HttpException(404, "파일이 존재하지 않습니다.");//RedirectTo NoFoundPage
}
}
catch (Exception ex) {
throw new HttpException(404, ex.Message);//RedirectTo NoFoundPage
}
}
728x90
반응형
'ASP.NET MVC' 카테고리의 다른 글
Visual Studio 2019] 디버깅 팁, Debugger Tips (0) | 2021.12.23 |
---|---|
ASP.NET] DapperManager.cs (0) | 2021.12.22 |
ASP.NET] 로그인 체크, 접속권한 체크 (5) | 2021.12.21 |
ASP.NET] 게시판 Paging 페이징 만들기 (0) | 2021.12.21 |
ASP.NET] Select 태그 만드는 다양한 방법 (DropDownList, DropDownListFor, EnumDropDownListFor) (0) | 2021.12.08 |
댓글