(PHP ActiveX) Read/Write JSON with Binary Data such as JPEG Files
Demonstrates how binary files could be stored in JSON in base64 format. Creates JSON containing the contents of a JPG file, and then reads the JSON to extract the JPEG image.
<?php
// First load a small JPG file..
$bd = new COM("Chilkat_9_5_0.BinData");
$success = $bd->LoadFile('qa_data/jpg/starfish20.jpg');
// Assume success, but your code should check for success..
// Create JSON containing the binary data in base64 format.
$json1 = new COM("Chilkat_9_5_0.JsonObject");
$json1->UpdateBd('starfish','base64',$bd);
$jsonStr = $json1->emit();
print $jsonStr . "\n";
// Here's the output:
// {"starfish":"/9j/4AAQSkZJRgA ... cN2iuLFsCEbDGxQkI6RO/n//2Q=="}
// Let's create a new JSON object, load it with the above JSON, and extract the JPG image..
$json2 = new COM("Chilkat_9_5_0.JsonObject");
$json2->Load($jsonStr);
// Get the binary bytes.
$bd2 = new COM("Chilkat_9_5_0.BinData");
$json2->BytesOf('starfish','base64',$bd2);
// Save to a file.
$success = $bd2->WriteFile('qa_output/starfish20.jpg');
print 'Success.' . "\n";
?>
|