将对象从Web服务器传递到客户端

时间:2010-06-09 21:50:41

标签: c# javascript stream asp.net ole

我开发了一个C#Web应用程序,它调用一个返回base64编码数组(PDF文件)的Web服务。然后我将该数组转换为UCOMIStream对象(我知道它已经过时,但我使用的DLL需要它作为参数)。我使用以下代码进行完美的转换。我可以将此对象传递给DLL,以便我可以打印PDF。

这在Web服务器上运行良好,但要求是在本地打印。

        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。

如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

难道你不能只在服务器上生成pdf并让客户端下载它吗?

答案 1 :(得分:1)

让客户端下载base64编码的数组,然后将数据转换为UCOMIStream对象,并在客户端生成PDF。