Попытка прочитать данные из тела ActionAsPdf (Rotaviva), чтобы получить PDF-байты - PullRequest
0 голосов
/ 11 июня 2018

У меня есть метод, который используется для вызова соответствующего ActionResult на основе части.Это вызывает метод Action на контроллере asp.net для возврата представления в виде байтов в формате pdf.

private byte[] CreateCertificatePart(string pdfData, CertificatePart part)
    {
        var customSwitches = string.Format(
            "--print-media-type " +
            "--margin-top 10mm " +
            "--margin-bottom 10mm " +
            "--margin-left 10mm " +
            "--margin-right 10mm " +
            "--encoding utf-8 " +
            "--minimum-font-size 11 " +
            "--zoom 1.0 " +
            "--disable-smart-shrinking"
        );            

        var pdfResult = new ActionAsPdf(part.ToString(), new { pdfData }) { CustomSwitches = customSwitches };
        var pdfBytes = pdfResult.BuildFile(ControllerContext);

        return pdfBytes;
    }

Это вызовет соответствующий ActionResult на основе строки детали, такой как

[System.Web.Http.HttpPost]
    public ActionResult NewCertificateBody([FromBody]PdfData pdf)
    {

        var reference = "";

        try
        {
            //var vmCert = (vmCert)JsonConvert.DeserializeObject(pdfData);

            return View(pdf.PdfBodyName, pdf.CertModel);
        }
        catch (Exception ex)
        {
            //AppInsightLog.LogError(ex, quoteReference);
            return new HttpStatusCodeResult(400, "NewCertificateBody");
        }
    }

Проблема в том, что я хочу получить объект из тела ActionResult (PdfData), а не отправлять данные в строке запроса.Но как мне сказать методу CreateCertificatePart поместить строку json pdfData в тело в первую очередь?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...