Показать PDF-файл в частичном представлении MVC через AJAX beginForm - PullRequest
0 голосов
/ 04 июня 2019

У меня есть эта форма в MVC View, которая должна получить пару номера и даты документа, чтобы показать его в отдельном окне предварительного просмотра на той же странице:

@using (Ajax.BeginForm("GetProtocollo", new AjaxOptions {
    HttpMethod = "GET",
    OnBegin = "GetProtocolloBegin",
    OnSuccess = "GetProtocolloSuccess",
    OnFailure = "GetProtocolloFailure",
    UpdateTargetId = "AnteprimaDocumento"
}))
{ // code here }

Целевой элемент в простейшей форме

<div id="AnteprimaDocumento"></div>

Форма вызывает метод действия, который получает фактический файл PDF из службы WCF

public FileStreamResult GetProtocollo(// params)
{
    // check params

    ProtocolReaderClient client = new ProtocolReaderClient();
    var prot = client.GetProtocol(// params);
    if(!prot.Error)
    {
        Stream memStream = new MemoryStream(prot.Document.RawContent);
        return new FileStreamResult(memStream, "application/pdf");
    }

    // deal with errors
}

Но вот что я получаю в окне предварительного просмотра:

enter image description here

Как я могу показать фактический PDF?

Кстати, несмотря на то, что сама служба имеет "нормальное" время ответа (1-3 секунды, но оно не мое), весь запрос занимает очень и очень много времени (около 90 секунд), и я не могу понять почему.

enter image description here

Спасибо, Давида.

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