Problema
Quiero devolver un archivo en mi controlador de API web ASP.Net, pero todos mis enfoques devuelven HttpResponseMessage
como JSON.
Código hasta ahora
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;
}
Cuando llamo a este punto final en mi navegador, la API web devuelve HttpResponseMessage
como JSON con el Encabezado de contenido HTTP establecido en application/json
.
return File(stream, "application/octet-stream", "filename.xlsx");
esta manera, cuando se descarga, el usuario puede abrirlo directamente.