Перенаправление в Web API FileStreamResult из MVC Действие - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь перенаправить из моего MVC приложения в FileStreamResult в моем веб-API. Сторона MVC должна сделать сообщение из-за данных, которые пересылаются. Основная идея c заключается в том, что я должен иметь возможность публиковать сообщения на стороне MVC, и что произойдет дальше, это то, что сторона API создаст файл и позволит мне скачивать / просматривать оттуда. С тем, что у меня есть, он делает запрос на стороне API, но остается на стороне MVC. Мой примерный код ниже, есть мысли?

MVC

    [HttpGet]
    public HttpResponseMessage Download(int id)
    {
        var body = GetBodyForPost(id);

        using (var client = new HttpClient())
        {
            var response = client.PostAsJsonAsync(url, body);
            return response.Result.EnsureSuccessStatusCode();
        }
    }

API

    [HttpPost]
    [ActionName("Download")]
    public async Task<FileStreamResult> Download([FromBody] IEnumerable<RequestData> data)
    {
        var stream = BuildFileFromData(data);

        Response.Headers.Add("Content-Type", "application/pdf");
        Response.Headers.Add("Content-Disposition", "attachment; filename=print.pdf");

        return new FileStreamResult(stream, "application/pdf");
    }
...