我的控制器需要调用一个 WebAPI 方法,该方法将返回一个 HttpResponseMessage 对象,其中包含一个 pdf 文件。我需要立即将此文件作为控制器的 FileResult 对象返回。我正在尝试从到处找到的代码中组合起来的许多解决方案,但似乎所有文件保存方法都是异步的,我遇到了在同一个控制器方法中立即将文件作为 FileResult 返回的问题。在这种情况下,最好的方法是什么?
我尝试过的一些代码:
System.Threading.Tasks.Task tsk = response.Content.ReadAsFileAsync(localPath, true).ContinueWith(
(readTask) =>
{
Process process = new Process();
process.StartInfo.FileName = localPath;
process.Start();
});
await tsk;
return File(localPath, "application/octetstream", fileName);
这是我的主要想法,从响应内容中获取文件并将其作为 FileResult 返回。但这会在等待 tsk 上引发 Access Denied。