|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
PDf via webservice dans répertoire |
Débuté par Blue, 07 juil. 2025 12:42 - 4 réponses |
| |
| | | |
|
| |
Posté le 07 juillet 2025 - 12:42 |
Bonjour,
j'ai actuellement un webservice qui tourne bien afin d'envoyer des infos au chargement d'un PDF. Mais je dois également stocker ce PDF dans un répertoire local. Le résultat que j ai actuellement c'est qu'un PDF est bien créé dans le bon répertoire mais il m'est impossible de l ouvrir.
PROCÉDURE EnvoyerDocument(CheminFichier est une chaîne)
//Envoie fichier dans répertoire client DocumentJSON est un JSON //bufDocumentBuffer est un Buffer sReponseRetour est une chaîne //DocumentAEnregistrer est un STDocument
DocumentJSON.IDCLIENTS_DOCUMENTS = 0 DocumentJSON.Nom = CheminFichier DocumentJSON.NumeroOrdre = 0 DocumentJSON.Chemin = fRepDonnées()+fSep() + CheminFichier DocumentJSON.buffFichier = fChargeBuffer(fRepDonnées()+fSep() + CheminFichier) DocumentJSON.NUMCLIENT = gsNumClientUtilisateur DocumentJSON.IDDOCUMENTS_TYPE = COMBO_TypeDoc..ValeurMémorisée DocumentJSON.DateHeureAjout = DateHeureSys() DocumentJSON.ParQuiAjout = "WinPortal"
fSauveTexte("C:\Users\Ennovsys016\Desktop\Doc2.txt",JSONVersChaîne(DocumentJSON))
h est un httpRequête h.Méthode = httpPost h.URL = gsURL + "/Ajout_Document" h.ContentType = "application/json" h.Contenu = DocumentJSON r est un httpRéponse = RESTEnvoie(h)
SI r.CodeEtat = 200 ALORS sReponseRetour = r.DescriptionCodeEtat
ToastAffiche("Document envoyé",toastLong,cvMilieu,chCentre)
PAGE_MAIN.MENU_Main.OPT_Mes_Documents.ExécuteTraitement(trtClic) SINON sReponseRetour = r.DescriptionCodeEtat
Info("Erreur envoi document", sReponseRetour) FIN
Le bout de code de mon WS pour sauver mon PDF dans répertoire choisit
SI PAS fSauveBuffer(ComplèteRep(sRepertoireDoc)+nomDoc+extension,buffFichier) ALORS PG_RenvoiErreur(400,"Une erreur est survenue lors de la sauvegarde du fichier.") bConnexionOK = Faux RENVOYER bConnexionOK FIN
Est ce quelqu'un peut m'aider à trouver d'où vient le soucis ? Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 705 messages |
|
Posté le 07 juillet 2025 - 15:08 |
Salut Tout ce que je vois dans ton code c'est l'enregistrement d'un texte Et dans un autre code la sauvegarde d'un Buffer As tu ouvert ton pdf avec un éditeur texte pour vérifier si le début correspond bien à un PDF? |
| |
| |
| | | |
|
| | |
| |
Posté le 07 juillet 2025 - 15:44 |
Popoy a écrit :
Salut Tout ce que je vois dans ton code c'est l'enregistrement d'un texte Et dans un autre code la sauvegarde d'un Buffer As tu ouvert ton pdf avec un éditeur texte pour vérifier si le début correspond bien à un PDF?
Salut Popoy,
Ici pour toi c'est un enregistrement de texte ?
DocumentJSON.buffFichier = fChargeBuffer(fRepDonnées()+fSep() + CheminFichier) Mon JSon envoie bien un PDF. Dans mon editeur texte ça commence ainsi : "%PDF-1.4 %âãÏÓ 92 0 obj <</Linearized 1/L 191836/O 99/E 84506/N 3/T 189861/H [ 1648 420]>> endobj xref 92 66 0000000016 00000 n..." Pour moi c'est ok j envoie ça dans mon WS, j ai un PDF dans mon répertoire mais impossible de l ouvrir. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 705 messages |
|
Posté le 07 juillet 2025 - 17:00 |
Salut J'ai l'impression que cette ligne fSauveTexte("C:\Users\Ennovsys016\Desktop\Doc2.txt",JSONVersChaîne(DocumentJSON)) N'as pas l'aire d'être un PDF mais vu que tu mets une extension .txt je me doute que ce n'est pas un PDF Puis tu fais fSauveBuffer(ComplèteRep(sRepertoireDoc)+nomDoc+extension,buffFichier) D'où ma question
Si tu n'arrives pas à ouvrir le PDF c'est que Soit ce n'est pas un PDF Soit le contenu n'est pas valide Beaucoup de choses peuvent être a l'origine du défaut Souvent la chaîne json peuvent contenir des binaires (images , pdf etc) souvent en base 64 Il faudrait voir le contenu du json Peut être faut il convertir la base 64 . |
| |
| |
| | | |
|
| | |
| |
Posté le 08 juillet 2025 - 10:11 |
Popoy a écrit :
Salut J'ai l'impression que cette ligne fSauveTexte("C:\Users\Ennovsys016\Desktop\Doc2.txt",JSONVersChaîne(DocumentJSON)) N'as pas l'aire d'être un PDF mais vu que tu mets une extension .txt je me doute que ce n'est pas un PDF Puis tu fais fSauveBuffer(ComplèteRep(sRepertoireDoc)+nomDoc+extension,buffFichier) D'où ma question
Si tu n'arrives pas à ouvrir le PDF c'est que Soit ce n'est pas un PDF Soit le contenu n'est pas valide Beaucoup de choses peuvent être a l'origine du défaut Souvent la chaîne json peuvent contenir des binaires (images , pdf etc) souvent en base 64 Il faudrait voir le contenu du json Peut être faut il convertir la base 64 .
la ligne fSauveTexte("C:\Users\Ennovsys016\Desktop\Doc2.txt",JSONVersChaîne(DocumentJSON)) c'est pour enregistrer mon JSON dans un txt afin de pouvoir tester mon webservice. Et par la meme occasion vérifier mon buffer de PDF.
Au final tu as raison, j'ai finis pas encoder mon buffer et decoder du coté WS en base64. Merci pour l aide. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|