2016-04-28 9 views
0

Also habe ich ein seltsames Problem mit der GD-Bibliothek in Laravel. Ich kann die Datei korrekt speichern. Base64_encode gibt das korrekte Bild zurück. Aber ich kann nicht für das Leben von mir bekommen es im Browser zu zeigen. In meinem Testcontroller ich habe folgendes:GD-Bibliothek - Kann nicht im Browser ausgeben (Laravel)

<?php 

namespace App\Http\Controllers; 

use App; 
use Response; 

class TestController extends Controller 
{ 
    public function index() 
    { 

     $test = imagecreatetruecolor(300, 300); 
     $background = imagecolorallocate($test, 0, 0, 0); 
     imagefill($test, 0, 0, $background); 
     ob_start(); 
     imagepng($test); 
     $buffer = ob_get_contents(); 
     imagedestroy($test); 
     ob_end_clean(); 

     $response = Response::make($buffer); 
     $response->header('Content-Type', 'image/png'); 
     return $response; 
    } 
} 

Das ist nur ein gebrochenes Bild zurückgibt.

Die Konsole zeigt die richtigen Header an. Ich ziehe mir die Haare aus ...

+0

Eigentlich bekomme ich ein schwarzes Quadrat mit Ihrem Code .. können Sie uns den gesamten Controller Action Code geben? – zorx

+0

Das ist genau was ich suche. Ich benutze Laravels Homestead (4.0), das mit GD vorinstalliert ist. Aktualisiert den Code. –

+0

Sie müssen erwähnen, dass Sie Laravel 4.0 verwenden (weil ich es auf 5.2 getestet habe) – zorx

Antwort

0

So dumm. Ich habe ein Leerzeichen vor dem php-Tag in der Konfigurationsdatei meines Pakets gefunden. Ich kann wirklich nicht glauben, dass es etwas so Dummes war.

Verwandte Themen