0
给定MVC控制器方法,即构建并返回PDF。从webapi2服务调用常规MVC控制器方法
[HttpGet]
[Route("pdf/{acc}/{sign}")]
public async Task<ActionResult> Download(string acc, string sign)
{
... // omitted some irrelevant detail.
var html = this.View("Letter", model).Capture(this.ControllerContext);
byte[] pdf = this.CreatePdfFromHtml(html);
return this.File(binary, "application/pdf", file);
}
的Capture
扩展方法捕获html
输出,然后将其返回为一个文件。
我需要在下面的webapi2方法执行上面的方法(或关闭)。 我需要凭据和其他登录状态。 webapi和MVC请求位于使用cookie进行安全性的相同应用程序中。
[HttpPost]
[Route("generate")]
public int Generate(MyRequestModel request)
{
byte[] pdf = ... // how do i get the file above??
}
感谢克里斯 - 问题在于,PDF是通过从mvc视图中捕获HTML生成的,因此分解PDF生成代码正是问题所在。我可能不得不去创建一个客户端 - 这看起来像很多箍.... – Jim
我想我只是从角度调用一个常规的MVC方法,它只是为了一致性,我想使用webapi。 – Jim