Problem
Chcę zwrócić plik w moim kontrolerze interfejsu API sieci Web ASP.Net, ale wszystkie moje podejścia zwracają plik HttpResponseMessage
jako JSON.
Kod do tej pory
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;
}
Kiedy wywołuję ten punkt końcowy w mojej przeglądarce, interfejs API sieci Web zwraca HttpResponseMessage
as JSON z nagłówkiem zawartości HTTP ustawionym na application/json
.
return File(stream, "application/octet-stream", "filename.xlsx");
ten sposób, gdy pobiera, użytkownik może go bezpośrednio otworzyć.