Symfony2 forcing jpg download gibt eine beschädigte Datei zurück

Nach einigen der vielen Posts zum Thema habe ich endlich diese Version des "Force Download" -Codes gefunden:

public function downloadAction(Request $request){

    $filename= 'test.jpg';
    $response = new Response();

    $response->headers->set('Content-Type','image/jpg');
    $response->headers->set('Content-Disposition', 'attachment; filename="' . basename($filename) . '"');        

    $response->sendHeaders();
    $response->setContent(file_get_contents($filename)); 

    return $response;
} 

Nun, das funktioniert gut mit zip-Dateien (offensichtlich mit dem richtigen Inhaltstyp), aber für jpg passiert etwas anderes. Als ich mit HexCompare sowohl das Original als auch das heruntergeladene JPG überprüfte, stellte ich fest, dass die heruntergeladene Version am Anfang der Datei "EF BB BF" hinzufügt. Dies scheint für den Windows Image Viewer zu genügen, der keine beschädigten Dateifehler mehr meldet.

Auf der anderen Seite öffnet sich dasselbe heruntergeladene JPG perfekt in Adobe Photoshop (vielleicht weniger streng?)

Ideen? jemand?

Danke im Voraus.

Z

UPDATE: Heruntergeladene Zip-Dateien, die diesen Code verwenden, können nur mit WinRAR oder WinZIP geöffnet werden. Windows Explorer Zip Extract zeigt eine beschädigte Dateifehlermeldung an.

UPDATE2: OK, ich weiß, dass es sich jetzt um ein Stücklistenproblem handelt. Wie kann ich nun dieses böse "EF BB BF" aus dem file_get_content-Ergebnis entfernen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage