Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour a tous,
J'ai utilisé un OLE Control pour gérer des documents divers (pdf, doc, xls, jpg, ..) (utilisation de la fonction InsertFile()) qui sont donc stockés dans la base sous forme de Blob, Cela fonction parfaitement.
Mais maitenant que j'ai tous ces fichiers, impossible de les récupérer dans leur état d'origine !
J'ai bien sur essayé la fonction SaveAS() de OLEControl, marche pas pour de nombreux document( en gros marche que pour du Word et encore).
J'ai essayé de récupérer Directement le Blob pour l'enregistrer sous forme de fichier, résultat identique au SaveAS().
Il me faudrait la fonction reverse de InsertFile() !!! mais là pas trouvé :-(
Si qq à une piste, merci
Hors ligne
Bonjour,
Du côté du FileWriteEx il me semble.
Hors ligne
Le probléme n'est pas au niveau du Blob ou de l'enregistrement dans un fichier, mais de l'OLE Control qui ajout des informations et ne les enleve pas lors du SaveAS() ! Donc le fichier devient illisible pour l'application d'origine (Acrobat , Excel,...)
Il me faudrait la réciproque de la fonction ole_1.InsertFile()
Hors ligne
Salut
Je pense qu'il faut une fonction pour convertir ton blob en fichier puis tu ouvres ton fichier
Voici un exemple pour les images
Hors ligne
Merci,
mais mon pb ne vient pas de l'enregitrement du Blob, mais des infos ajoutées lors de l'insertFile(), me semble t-il, dans l'OLE Control.
De plus ces ajout sont trés variables exemple :
- Pour une ficheir Word (le seul qui marche a peu pres) peu d'ajout
- Mais pour un fichier pdf de 370Ko aprés récupération via le SaveAS() il fait 1.8 Mo !!! donc on comprend que acrobat à du mal à le lire
- Idem pour une image etc...
Donc mon pb c'est comment récupérer les informations d'origine ?
Hors ligne