Как отправить файл PDF на сервер приложений Progress? - PullRequest
2 голосов
/ 21 августа 2009

У меня есть файл PDF на клиенте, и я хочу отправить этот файл PDF на AppServer. Как я могу отправить этот PDF-файл на AppServer?

Ответы [ 3 ]

2 голосов
/ 02 декабря 2009
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 ).
2 голосов
/ 02 декабря 2009

Это зависит от версии прогресса, который вы используете, если вы используете 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, используя простой байтовый массив в качестве типа данных входной временной таблицы.

0 голосов
/ 15 октября 2009

Используйте необработанный тип данных, вам может понадобиться отправить файл кусками. Другой альтернативой является использование символа + BASE64.

...