Word bestand omzetten naar Base64 string
Ik zit met een vraag namelijk:
Hoe kan ik een geüpload bestand, die in een map staat, omzetten naar een Base64 string? Om die string vervolgens door te geven via een XML bestand. Het betreft hier een .docx of een .pdf bestand. Heb al aantal wat uurtjes ge-googled maar ik kan niet tot concrete voorbeelden o.i.d komen.
Waarom wil ik dit? Ik heb een SOAP server welke op PHP draait. Deze server moet aanvragen kunnen verwerken van meerdere programmeertalen. En deze moet dus gegevens kunnen uitwisselen met verschillende databases. Ik kan dus een bestand encoden met base64 en deze kan aan de andere kant weer ge-decode worden heb ik begrepen. De bestandsgrootte wordt wel iets groter maar dat is geen probleem in mijn geval.
Hopende dat iemand hier wat meer van weet of ervaring mee heeft.
Alvast bedankt,
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$file = "test/image.jpg";
$handle = fopen($file, "rb");
$base64 = base64_encode(stream_get_contents($handle));
fclose($handle);
// Upload file to domino
$client->dbUploadFile($srv_name, $db_name, $unid, 'Book_cover', $file, true, $base64);
$handle = fopen($file, "rb");
$base64 = base64_encode(stream_get_contents($handle));
fclose($handle);
// Upload file to domino
$client->dbUploadFile($srv_name, $db_name, $unid, 'Book_cover', $file, true, $base64);
Je zult misschien denken maar in de fopen functie de rb flag en wat is die 'b' nou de b staat gewoon voor binary file transfer, als je het al wist heb ik niks gezegt ik heb er 2uur naar staan zoeken!
Gewijzigd op 08/04/2011 15:43:13 door Ben Van de Voorde
Wow dat is snel! En bedankt, daar kom ik eerlijk gezegd een heel eind mee. Het moet namelijk door een andere client omgezet worden in een bestand. Misschien als test nog even proberen het bestand uit deze code op te bouwen en vervolgens te openen?
Ik denk dat je met deze code ook gewoon docx files en noem het maar op kan uploaden, maar dat weet ik niet zeker, trouwens download het programma soapui 3.6.1 hier in kun je je xml file openen en alles heel makkelijk zien en testen. ( Als je het nog niet hebt )
soapui heb ik ja, ook heb ik een client.php gemaakt om aanvragen op de server te doen. En dat werkt qua testen ook prima! Ik ga het even proberen te decoden en dit bestand weer te openen.
http://www.flexdomino.net/soapgateq misschien vind je hier nog wat informatie over soap ook zitten er goede documentaties bij!
Als het goed is decode de webservice het zelf en moet dat stukje script voldoende zijn :) hier de website van mijn collega hier op Malta Gewijzigd op 08/04/2011 16:09:09 door Ben Van de Voorde