Передать объект с веб-сервера клиенту

1

Я разработал веб-приложение С#, которое вызывает веб-службу, которая возвращает массив с кодировкой base64 (файл PDF). Затем я преобразовываю этот массив в объект UCOMIStream (я знаю, что он устарел, но используемая мной DLL требует его как параметра). Для выполнения преобразования, который работает отлично, я использую следующий код. Я могу передать этот объект в DLL, чтобы я мог распечатать PDF.

Это отлично работает на веб-сервере, но требование заключается в том, чтобы печатать его локально.

        Byte[] bBuffer = statementOut.statementcycle.statementdata.content;
        int size = bBuffer.Length;
        IntPtr mem = Marshal.AllocHGlobal(size);
        Marshal.Copy(bBuffer, 0, mem, size);
        // Create an OLE Stream object.
        System.Runtime.InteropServices.UCOMIStream str;   //obsolete but the createstreamonhglobal outputs it
        CreateStreamOnHGlobal(mem, true, out str);

DLL находится на клиенте, поэтому я могу использовать ActiveX для создания объекта с помощью javascript и/или VBscript, однако мне не удалось выяснить, как получить объект потока от клиента, чтобы перейти к DLL.

Как это можно достичь?

Теги:
stream
ole

2 ответа

1

Не могли бы вы просто создать PDF файл на сервере и загрузить его клиент?

  • 0
    Не удается сгенерировать PDF на сервере. Мы ищем другие средства, поскольку это ферма веб-серверов, и они не уверены, будут ли серверы иметь доступ к файлообменнику.
1

Попросите клиента загрузить этот закодированный массив base64, а затем перевести данные в объект UCOMIStream и создать PDF-клиент на стороне клиента.

  • 0
    Согласовано. Это был мой другой вариант, но я не смог понять, как преобразовать данные в объект UCOMIStream с помощью скрипта. Можете ли вы предоставить?
  • 0
    Что ты имеешь в виду "со сценарием". Является ли клиентское приложение приложением C # или чем-то еще? Я думаю, что вы должны иметь возможность просто вернуть поток байтов / массив и распечатать его в файл с расширением .pdf. Пока все данные передаются неповрежденными, файл должен работать безупречно.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню