2016-12-07 5 views
0

Ich versuche, eine Xlsx-Erweiterungsdatei herunterladen, um als httpResponssemessage eingekapselt werden. Die Datei erscheint nicht zum Herunterladen, die XHR-Anfragen in Chrome scheinen jedoch die Daten zu enthalten.herunterladen Xlsx als httpResponseMessage

public HttpResponseMessage GetExcelFile(string csvdata) 
{ 
     var result = new HttpResponseMessage(HttpStatusCode.OK); 

    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); 
    MemoryStream memStream = new MemoryStream(encoding.GetBytes(csvdata)); 

     result.Content = new ByteArrayContent(encoding.GetBytes(csvdata)); 

     result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); 

     result.Content.Headers.ContentDisposition = new  ContentDispositionHeaderValue("attachment"); 

     result.Content.Headers.ContentDisposition.FileName = "Data.xlsx"; 

     return result; 

}

Dies ist der API-Aufruf, der die httpresponsemessage in AngularJS UI wirft. Irgendwelche Vorschläge, um dies zur Arbeit zu bringen ?.

+0

Ist das Web-API-Methode erhalten? – Gurusinghe

Antwort

0

In der Hoffnung, dass Sie Web-API verwenden, erhalten Methode HttpResponseMessage in ValuesController.cs-Klasse zurückgeben. (// GET: api/Values)

Nehmen Sie an, dass ng-click bei Klick auf Ihre Schaltfläche ausgelöst wird. fügen Sie ng-click="TakeIT()" als Attribut in button element hinzu.

in Ihrem Winkelregler, binden die Funktion $ Umfang wie

$scope.TakeIT= function() {       
 
        window.location = 'api/Values'; 
 
       };

+0

Nein, es ist ein POST. Ich habe diese Methode geerbt. Ich muss es viele Parameter senden und abfragen, um Ergebnis zu erhalten. – user2791094

Verwandte Themen