How can I download an XML file when I call a REST endpoint (which responds in XML format) with AngularJS?
So the flow is simple, I have created a button on the UI which makes a call to a REST endpoint (which has a response in an application/xml format) and its response should come as a download on the UI.
If I understand the question correctly (use the browser’s download functionality when the user clicks the link), then this is not a question about angular really.
In order to cause a file to download you need to do two things:
Attempt to navigate the browser to the URL that returns the XML (i.e. don’t make an AJAX request for it).
<a href="http://myserver.com/my/REST/endpoint>Click here</a>
Ensure the XML content is being served with headers that would force a download. If you don’t do this, the browser may attempt to render the XML itself rather than downloading it. You could try either setting the
Content-Typeheader to be
applicaton/octet-streamor look into using the
Content-Disposition: attachment; filename=someFileName.xml;
Answered By – Ed_