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?