Symfony2 forcing jpg download возвращает поврежденный файл

После некоторых из многих сообщений, связанных с темой, я наконец-то придумал эту версию "принудительная загрузка код:

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;
} 

Теперь это прекрасно работает с zip-файлами (очевидно, с использованием правильного типа контента), но для jpg происходит нечто иное. При использовании HexCompare для проверки как оригинального, так и загруженного JPG я обнаружил, что загруженная версия добавляет "ЭФ ББ БФ " в начале файла. Кажется, этого достаточно для средства просмотра изображений Windows, которое завершает сообщение об ошибке поврежденного файла.

С другой стороны, тот же загруженный jpg прекрасно открывается в Adobe Photoshop (возможно, менее строгим?)

Идеи? кто-нибудь?

Спасибо заранее.Z

ОБНОВЛЕНИЕ: Загруженные Zip-файлы, использующие этот код, можно открыть только с помощью WinRAR или WinZIP, Windows Explorer Zip Extract отображает сообщение об ошибке поврежденного файла.

ОБНОВЛЕНИЕ2: хорошо, я знаю, что теперь проблема спецификации. Теперь, как я могу избавиться от этого противного "EF BB BF " из результата file_get_content?

Ответы на вопрос(1)

Ваш ответ на вопрос