0

我正在尝试从我的 MVC 应用程序重定向到我的 Web api 中的 FileStreamResult。由于正在发送的数据,MVC 端需要进行发布。基本思想是我应该能够在 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");
    }
4

0 回答 0