c# .net Adsense ADO.NET Linq Viruses/security asp.net MVC JQuery Angular-js Node-js SEO Java C++ SQL API Networking vb.net .Net Css JavaScript Generics c#.Net entity framework HTML Website host Website Construction Guide HTTP tutorial W3C tutorial Web Services JSON Psychology Ionic framework Angular ReactJS Python Computer Android
asp.net MVC

How to download a File with MVC4 Razor view?

| | CSharp , MVC

In this article, I will show you download file to client browser from a server using asp.net c# MVC razor view with example. I am using FileResult, it allows user to download file from the folder with specified file name. It will return the file with generic octet-stream MIME type.

When the user clicks the download button, it requests the controller method and the specified PDF file will be downloaded by the client browser.

Step 1: Create a mvc application and Right click on the controller folder and add name “Home”. Copy and paste the following code.

public class HomeController : Controller
    {
        //
        public ActionResult Index()
        {
            return View();
        }
 
        private string filePath = "~/Files/";
        public FileResult DownloadFile()
        {
            var sDocument = Server.MapPath(filePath + "newFile.pdf");
            byte[] fileBytes = System.IO.File.ReadAllBytes(sDocument);
            return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, sDocument);
        } 
    }

Step 2: Right click on the homeController and create an index view. Copy and paste the following code.

<h2>Download a File with MVC4 Razor view</h2>
<span class="label"><b>Information:</b></span>
@using (Html.BeginForm("DownloadFile", "Download", FormMethod.Get))
{
    <input type="submit" value="Download" />
}