1

I need to initiate file download from ASP.NET page from javascript code.

What would be my best option? Is it possible to call a webservice to do so, or somehow call usual event handler of C# page?

Note that I will retrieve a large amount of data, many megabytes.

1

2 Answers 2

2

You can use a hidden IFRAME element and initiate a file download request, which does give the feeling for a AJAX file download.

While the file is being downloaded you can do other activity in your form on client side.

Yes you can call a webservice or aspx page or http handler as well in this URL

function dowloadFileJS()  {
      // Create an IFRAME.
      var iframe = document.createElement("iframe");

      // Point the IFRAME to GenerateFile
      iframe.src = "GenerateFile.aspx?yourQueryString=myQueryString";

      // This makes the IFRAME invisible to the user.
      iframe.style.display = "none";

      // Add the IFRAME to the page.  This will trigger a request to GenerateFile now.
      document.body.appendChild(iframe); 
    }
Sign up to request clarification or add additional context in comments.

Comments

0

You can use Javascript to create an iframe to the file you want to download. Have a look at this answer: Starting file download with JavaScript

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.