Для моего клиента я должен использовать хранилище blob для некоторых различных файлов.
Итак, я создал независимый пакет с классом Blob, который расширяет Doctrine\DBAL\Types\Type. и с функцией загрузки в классе пакетов.
Это работает очень хорошо, я могу писать в базе данных данных Blob.
Но я не могу загрузить какой-либо документ после:/
У меня есть:
public function downloadAction($id) {
$em = $this->getDoctrine()->getManager();
/* @var $entity Document */
$entity = $em->getRepository('Lille3SapBundle:Document')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Document entity.');
}
$file = $entity->getFichier();
$response = new \Symfony\Component\HttpFoundation\Response($file, 200, array(
'Content-Type' => 'application/octet-stream',
'Content-Length' => sizeof($file),
'Content-Disposition' => 'attachment; filename="'.$entity->getNomDocument().'"',
));
return $response;
}
и у меня есть Исключение: Содержимое ответа должно быть строкой или объектом, реализующим __toString(), "ресурс".
на самом деле, значения $file не являются ожидаемым BLOB, но что-то вроде Resource id # 123
- > У меня есть значения полей данных blob-данных, и они в порядке в базе данных
Итак, как я могу заставить контроллер иметь строку blob, а не идентификатор ресурса # 111