我正在尝试从我的 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");
}