javascriptc#asp.net-mvcfileresult

download a file from server using a controller and javascript


I have the controller code below:

public FileResult DownloadFileParaView()
{
    byte[] fileBytes = System.IO.File.ReadAllBytes(@"MyPath");
    string fileName = "MyFileName";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

How can I call it from JavaScript to return my file? Does I have to copy the file to project content?


Solution

  • Assuming you're calling this from within a view, it's relatively simple:

    window.location.href = '@Url.Action("DownloadFileParaView")';
    

    This would be in a script tag within the view where you want to trigger the download.