I have a Java API endpoint that returns an excel (I am using content-disposition=Content-Disposition","attachment; filename=Audit.Report.xlsx).
I have another Angular-Node JS application that needs to consume this API and when the user clicks on a link, it should pull the excel and display a pop-up asking them the location to save the document. I am at a loss as to how I can do this. I tried doing the following on the server side though,
Server Code:
 getAuditReport = function ( req, resp ) {
        var numberOfMonths = req.query.numberOfMonths;
        console.log('In first method ' + numberOfMonths);
        var auditReportPromise = this.getAuditReportXlPromise ( numberOfMonths );
        auditReportPromise.then ( function ( data ) {
          resp.headers('Content-Disposition: attachment; filename="audit.report_'+ new Date() + '".xls"');
          resp.ContentType = "application/vnd.ms-excel";
          resp.status ( 200 ).send ( data );
        } ).catch ( function ( err ) {
          resp.status ( 500 ).send ( err );
        } );
      }
The getAuditReportXlPromise method returns a promise to invoke the get method of the Java API. On invoking this API via a browser, I get the excel content on the browser rather than a prompt requesting me to save the document somewhere. 
Can someone suggest what's wrong here, and what I need to do on the client side for the click functionality to work.
Update 1: 
Following is the code from the HTML
<a id='10051' href="{{url}}" target=_blank class="ok-white-text">
                    Download Report
                </a>
Based on the duration the user selects, I'm building the URL - this is getting built correctly.