簡體   English   中英

從ABL代碼下載PDF文件時出錯

[英]Error in downloading PDF file from ABL Code

使用“進度”指示的例程運行測試以下載PDF文件時,出現以下問題。 有些文件下載正確,而另一些文件僅包含一部分,因此該文件無效。

我用2個隨機鏈接進行了測試,其中一個是正確的,另一個是錯誤的。

有沒有人遇到過這種情況?

參考: http : //knowledgebase.progress.com/articles/Article/How-to-download-PDF-files-from-ABL-code

謝謝!

我的代碼:

/* http://knowledgebase.progress.com/articles/Article/How-to-download-PDF-files-from-ABL-code   */
/* Article Number   000080110                                                                   */

USING OpenEdge.Core.*. 
USING OpenEdge.Net.HTTP.*. 
USING OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder. 

DEFINE VARIABLE oRequest AS IHttpRequest NO-UNDO. 
DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO. 
DEFINE VARIABLE oRequestBody AS WidgetHandle NO-UNDO. 
DEFINE VARIABLE oResponseMemptrEntity AS OpenEdge.Core.Memptr NO-UNDO. 
DEFINE VARIABLE oByteBucket AS OpenEdge.Core.ByteBucket NO-UNDO. 


/*IT'S OK*/
oRequest = RequestBuilder:GET ("http://www.pdf995.com/samples/pdf.pdf"):Request. 
oResponse = ClientBuilder:Build():Client:Execute(oRequest). 

oByteBucket = CAST(oResponse:Entity,OpenEdge.Core.ByteBucket). 
oResponseMemptrEntity = oByteBucket:GetBytes(). 

COPY-LOB FROM oResponseMemptrEntity:Value TO FILE "c:\temp\FILE-OK.pdf".



/*IT'S ERROR*/
oRequest = RequestBuilder:GET ("http://www.axmag.com/download/pdfurl-guide.pdf"):Request. 
oResponse = ClientBuilder:Build():Client:Execute(oRequest). 

oByteBucket = CAST(oResponse:Entity,OpenEdge.Core.ByteBucket). 
oResponseMemptrEntity = oByteBucket:GetBytes(). 

COPY-LOB FROM oResponseMemptrEntity:Value TO FILE "c:\temp\FILE-ERROR.pdf".

我已經在OpenEdge 11.7(64位)上嘗試了您的示例代碼,它似乎可以毫無問題地下載兩個文件。

OpenEdge.net.pl已在整個OpenEdge 11.6 Service Pack中進行了更新。 11.6.3是最新的版本。 我建議您嘗試升級到11.6.3(OpenEdge 11.6的Service Pack 3),然后重試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM