2

我在客户端有一个 PDF 文件,我想在 AppServer 上发送这个 PDF 文件。我如何在 AppServer 上发送这个 pdf 文件?

4

3 回答 3

2

这取决于您使用的进度版本,如果您使用的是 v9,那么您将需要使用分段流式传输的小块原始数据。使用 OpenEdge(可能是 10.1B)我们获得了 CLOB 和 BLOB 支持,您可以创建一个将临时表作为参数的过程。

这还取决于您的呼叫语言。对于 .NET 和 Java,这将被转换为字节数组。

为您的应用服务器创建类似于以下的过程:

def temp-table ObjectTransfer no-undo
    field Code          as char
    field Number        as int
    field DataContent   as blob
    field MimeType      as char.

procedure AddObjectData:
    def input param table for ObjectTransfer.

    def var k as int no-undo.

    for each ObjectTransfer:
        find last ObjectTable no-lock
            where ObjectTable.Code = ObjectTransfer.Code
            no-error.
        if avail ObjectTable then
            k = ObjectTable.Number + 1.
        else
            k = 1.

        create ObjectTable.
        assign
            ObjectTable.Code = ObjectTransfer.Code
            ObjectTable.Number = k
            ObjectTable.MimeType = ObjectTransfer.MimeType
            ObjectTable.DataContent = ObjectTransfer.DataContent
            .
    end.
end procedure.

生成代理,您现在将使用简单的字节数组作为输入临时表数据类型从 .NET 和 Java 调用它。

于 2009-12-02T12:42:03.693 回答
2
define temp-table ttFileList no-undo
    field file-id as integer
    field file-content as blob.

create ttFileList.
assign ttFileList.file-id = 1.

copy-lob from file("pdffilename") to ttFileList.file-content.

run DoSomethingWithAPDF on hAppServer
    ( input table ttFileList ).
于 2009-12-02T10:30:23.780 回答
0

使用原始数据类型,您可能需要分块发送文件。另一种选择是使用字符+BASE64。

于 2009-10-15T12:37:59.027 回答