Ich habe den obigen Code in asp.net mvc-Anwendung, um eine Datei herunterzuladen. Es funktionierte gut, da mein Controller zum Controller vererbt wurde. Aber wenn ich diesen Code auf den Webapi-Controller verschiebe, wird bei der Rückgabe Datei ein Fehler ausgegeben. Nach der Analyse habe ich festgestellt, dass mein Controller in Webapi ApiController (system.web.http.api controller) erbt. Ich habe festgestellt, dass es in ApiController keine Dateiklasse gibt. Gibt es eine Option zum Herunterladen der Dateifunktionalität im Webapi-Controller?
Ich habe den folgenden alternativen Code im Webapi-Controller ausprobiert, konnte aber keine herunterladbare Datei sehen, sobald ich diese anrufe.
%Vor%PS: Ich versuche angularjs-Code zu verwenden, um diese API durch eckigen Service aufzurufen. Dies wird beim Download-Buttonklick aufgerufen. Jeder Winkelcode oder jede Hilfe in einem API-Controller-Code oder Vorschlägen wäre hilfreich.
In Anbetracht der Tatsache, dass Sie XML zurückgeben, könnte der Controller eine XDokument .
%Vor% Sie müssen dann entweder GlobalConfiguration.Configuration.Formatters
ändern
um XML zurückzugeben, oder konfigurieren Sie Ihren Client so, dass der Header akzeptiert wird application/xml
Eine Möglichkeit, den Server so zu konfigurieren, dass er XML über einen anderen Typ wie JSON zurückgibt, ist der folgende Code:
%Vor%Sie können die Datei dann als XML über einen Hyperlink herunterladen
%Vor%Zum Anpassen sehen Sie sich diese Fragen zum Herunterladen einer Datei mit Angular js an.
Tags und Links asp.net-mvc asp.net-web-api angularjs c#