Devolver archivo en ASP.Net Core Web API

Problema

Quiero devolver un archivo en mi ASP.Net Web API Controller, pero todos mis enfoques devuelven elHttpResponseMessage 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 elHttpResponseMessage como JSON con el Encabezado de contenido HTTP establecido enapplication/json.

Respuestas a la pregunta(1)

Su respuesta a la pregunta