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