Hallo,
ich habe einen NUSOAP Client, der einen Bytestream für ein img abfragt.
Das funktioniert auch tadellos nur ist es so dass nicht der gesamte Bytestream zurück kommt.
Wenn ich den base64 String in einen Aufruf lege baut sich nur ein halbes Bild auf.
$client = new soapclient('http://www..........SOAPHTTPChannel1_InboundPort', false);
$client->ca = true;
$client->debug_flag = false;
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
$result = $client->call('getBild',
array(
"test1" => 'test',
"test2" => 'test2',
"test3" => 'test.JPG'
)
,'http://webservice.test.de'
);
if ($client->fault) {
echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>';
} else {
$err = $client->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
echo '<h2>Ergebnis</h2><pre>';
echo '<a href=""><img
src="data:image/gif;base64,'.$result.' " alt="test" width="300" height="400" /></a>';
print_r($result);
}
Nehme ich hingegen das Originalbild und mache ein decode und hinterher wieder ein encode um auch einen Bytestreamzurückgeliefert zu bekommen ist die Rückgabe komplett.
$file = "test.jpg";
if($fp = fopen($file,"rb", 0))
{
$picture = fread($fp,filesize($file));
fclose($fp);
// base64 encode the binary data, then break it
// into chunks according to RFC 2045 semantics
$base64 = chunk_split(base64_encode($picture));
echo '<a href=""><img src="data:image/gif;base64,'.$base64 .'" alt="bild" width="300" height="400" ></a>';
Gibt es ggf. Beschränkungen bei SOAP oder NUSOAP die eine gewisse Rückgabegrösse beschränken oder ggf. Options die man setzen muss.
Vielen Dank für Hilfe
ich habe einen NUSOAP Client, der einen Bytestream für ein img abfragt.
Das funktioniert auch tadellos nur ist es so dass nicht der gesamte Bytestream zurück kommt.
Wenn ich den base64 String in einen Aufruf lege baut sich nur ein halbes Bild auf.
$client = new soapclient('http://www..........SOAPHTTPChannel1_InboundPort', false);
$client->ca = true;
$client->debug_flag = false;
$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
$result = $client->call('getBild',
array(
"test1" => 'test',
"test2" => 'test2',
"test3" => 'test.JPG'
)
,'http://webservice.test.de'
);
if ($client->fault) {
echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>';
} else {
$err = $client->getError();
if ($err) {
echo '<h2>Error</h2><pre>' . $err . '</pre>';
} else {
echo '<h2>Ergebnis</h2><pre>';
echo '<a href=""><img
src="data:image/gif;base64,'.$result.' " alt="test" width="300" height="400" /></a>';
print_r($result);
}
Nehme ich hingegen das Originalbild und mache ein decode und hinterher wieder ein encode um auch einen Bytestreamzurückgeliefert zu bekommen ist die Rückgabe komplett.
$file = "test.jpg";
if($fp = fopen($file,"rb", 0))
{
$picture = fread($fp,filesize($file));
fclose($fp);
// base64 encode the binary data, then break it
// into chunks according to RFC 2045 semantics
$base64 = chunk_split(base64_encode($picture));
echo '<a href=""><img src="data:image/gif;base64,'.$base64 .'" alt="bild" width="300" height="400" ></a>';
Gibt es ggf. Beschränkungen bei SOAP oder NUSOAP die eine gewisse Rückgabegrösse beschränken oder ggf. Options die man setzen muss.
Vielen Dank für Hilfe