2

クライアントにPDFファイルがあり、このPDFファイルをAppServerに送信したいと思います。AppServerでこのPDFファイルを送信するにはどうすればよいですか?

4

3 に答える 3

2

これは、使用している進行状況のバージョンによって異なります。v9 を使用している場合は、セグメントにストリーミングされた生データの小さなチャンクを使用する必要があります。OpenEdge (10.1B だった可能性があります) では CLOB と BLOB がサポートされ、一時テーブルを引数として取るプロシージャを作成できます。

また、通話言語によっても異なります。.NET および Java の場合、これはバイト配列に変換されます。

app-server に対して、次のような手順を作成します。

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

raw データ型を使用します。ファイルをチャンクで送信する必要がある場合があります。もう 1 つの方法は、文字 + BASE64 を使用することです。

于 2009-10-15T12:37:59.027 に答える