-
asp.net mvc File download (파일 다운로드)프로그래밍/C# (WinForms, ASP.NET) 2021. 2. 23. 17:36반응형
asp.net mvc 사이트에서 다운로드 버튼을 누르면
파일을 다운로드 받을 수 있게 하려면
index.cshtml에서 (혹은 파일 다운로드가 존재 할 cshtml)
<a href="~/Home/DownloadFile?filePath=엑셀_서식.xlsx" class="excel-down"><span>엑셀서식 다운로드</span></a> <!-- Home: Views Folder or Controller Name --> <!-- DownloadFile: Action Name -->
HomeController.cs에서 (혹은 해당 액션과 연결된 Controller)
public ActionResult DownloadFile(string filePath) { // 다운로드 되어야 할, 서버에 존재하는 파일 경로 string fullName = Server.MapPath("~/Files/" + filePath); byte[] fileBytes = GetFile(fullName); return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, filePath); } byte[] GetFile(string s) { System.IO.FileStream fs = System.IO.File.OpenRead(s); byte[] data = new byte[fs.Length]; int br = fs.Read(data, 0, data.Length); if (br != fs.Length) throw new System.IO.IOException(s); return data; }
예제 코드와 같이 작성 후
사이트에서 엑셀서식 다운로드 버튼을 누르면
파일 다운로드를 할 수 있다.
이때, 파일의 확장자는 거의 다 된다.
반응형'프로그래밍 > C# (WinForms, ASP.NET)' 카테고리의 다른 글
C# 네이버 지도 API(AI Naver-Directions 5)를 이용해서 거리 구하기 (0) 2021.05.13 C# 폼에서 제목표시줄을 클릭했을 때 클릭이벤트가 발생되게 하는 방법 (0) 2021.05.13 asp.net mvc ajax에서 controller로 post 한 후 controller에서 ajax로 성공 또는 오류 메시지 리턴하는 방법 (0) 2021.02.17 C# 문자열을 문장으로 나누기 (Split('')할 때 'string'에서 'char'(으)로 변환할 수 없습니다. 해결 방법) (0) 2020.11.11 C# foreach 루프를 LINQ로 변환하는 아주 쉬운 방법 (0) 2020.10.16 TAG