Problem
Ich möchte eine Datei in meinem ASP.Net Web API Controller zurückgeben, aber alle meine Ansätze geben die HttpResponseMessage
als JSON zurück.
Code bisher
public async Task<HttpResponseMessage> DownloadAsync(string id)
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent({{__insert_stream_here__}});
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return response;
}
Wenn ich diesen Endpunkt in meinem Browser aufrufe, gibt die Web-API den Wert HttpResponseMessage
als JSON mit dem HTTP-Inhaltsheader zurück application/json
.
return File(stream, "application/octet-stream", "filename.xlsx");
diese Weise kann der Benutzer es beim Herunterladen direkt öffnen.