2016-12-16 1 views
1

Ich benutze Guzzle 6 und habe ein Problem, Bilddaten von einem REST-Endpunkt zurück zu bekommen.Guzzle kann den Inhaltstyp für Rohbilddaten nicht erzwingen

$client = new Client(['base_uri' => $base_uri]); 
$type = 'POST'; //..or 'GET'...doesn't make a difference 
$url = //..the endpoint where the image is served from 
$headers['Content-Type'] = 'text/xml; charset=x-user-defined'; 
$response = $client->request($type, $url, ['headers'=>$headers, 'decode_content' => false]); 

Mein Wunsch den Mime-Typen zu zwingen, wird ignoriert und der zurückgegebene Content-Type ist immer "image/jpeg", und die Daten munged sind, so kann ich nicht einfach in einen HTML-Tag "<img src=... />" bleiben.

Antwort

1

Sie können den Inhaltstyp der Antwort nicht erzwingen.

Der Content-Type Header Sie verwenden, ist der Content-Type für die Anfrage und nicht die Antwort.

Wenn der von Ihnen verwendete Endpunkt (API?) Ihnen die Möglichkeit gibt, die Antwort zu steuern, wird sie wahrscheinlich auf der von Ihnen verwendeten URL basieren, aber Sie können Guzzle nicht einfach dazu bringen, sie zu ändern.

+0

danke ... Ich erkannte endlich, dass ich mit den Daten aus dem Stream, was zurückkommt, alles machen konnte, was ich wollte; In diesem Fall, wenn ich es nach base64 kodiere und den richtigen Hinweis davor lege: 'data: image/jpeg; base64,' - das html '' -Tag funktioniert gut. –

+0

Ja, das ist richtig :) – Dekel

Verwandte Themen