我在客户端有一个PDF文件,我想在AppServer上发送这个PDF文件。如何在AppServer发送此pdf文件?
答案 0 :(得分: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 ).
答案 1 :(得分: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中调用它。
答案 2 :(得分:0)
使用原始数据类型,您可能需要以块的形式发送文件。另一种方法是使用character + BASE64。