So rufen Sie HttpResponseMessage FileName in JavaScript ab

8

Ich habe diese WebAPI-Methode, die ein benutzerdefiniertes Objekt MyType als Eingabe verwendet und auf dieser Basis eine PDF generiert. Die PDF-Datei wird als HttpResponseMessage zurückgegeben. Beachten Sie, dass ich den Dateinamen auf response.Content.Headers.ContentDisposition.FileName :

angabe

ASP.NET-WebAPI

%Vor%

In AngularJS hole ich die Datei mit FileSaver.js wie folgt:

%Vor%

Es funktioniert wie freigestellt, aber ich definiere den Dateinamen sowohl auf WebAPI als auch in JavaScript. Gibt es eine Möglichkeit, dass ich den in der WebAPI definierten FileName in der results -Variablen in JavaScript abrufen kann?

    
dhrm 16.03.2015, 07:42
quelle

1 Antwort

6

Die von den Methoden von $http zurückgegebenen Versprechen werden als Argument an ein Objekt mit den folgenden Eigenschaften übergeben ( ref ):

  
  • data - {string | Object} - Der Antworttext wird mit den Transformationsfunktionen transformiert.
  •   
  • status - {Nummer} - HTTP-Statuscode der Antwort.
  •   
  • headers - {function ([headerName])} - Header-Getter-Funktion.
  •   
  • config - {Object} - Das Konfigurationsobjekt, das zum Generieren der Anfrage verwendet wurde.
  •   
  • statusText - {string} - HTTP-Statustext der Antwort.
  •   

So results.headers('Content-Disposition') gibt Ihnen den Wert des Headers Content-Disposition . Sie müssen etwas trivial analysieren, um zum tatsächlichen Dateinamen zu kommen.

    
Nikos Paraskevopoulos 16.03.2015, 07:50
quelle