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