Lorsque j'exécute un test avec la routine indiquée par Progress pour télécharger un fichier PDF, j'ai le problème suivant. Certains fichiers sont téléchargés correctement, d'autres n'apportent qu'une seule partie, et le fichier n'est donc pas valide.Erreur lors du téléchargement du fichier PDF à partir du code ABL
J'ai fait le test avec 2 liens aléatoires, où l'un d'entre eux est correct, et l'autre a une erreur.
Quelqu'un a-t-il jamais rencontré cette situation?
Référence: http://knowledgebase.progress.com/articles/Article/How-to-download-PDF-files-from-ABL-code
Merci!
Mon 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".
Vous dites que vous obtenez une erreur. Quelle est cette erreur? –
Quel OpenEdge Release et Service Pack? –
@MikeFechner Version 11.6 –