Symfony - 使用PsPdfBundle将pdf文件保存到上传目录

时间:2015-06-03 09:22:36

标签: symfony pdf

我正在使用bundle中的基本代码生成pdf并且浏览器输出正常工作。 (控制器)

public function fileAction($name, Request $request)
{
  $format = $this->get('request')->get('_format');      
  $em = $this->getDoctrine()->getManager();
  $entity = $em->getRepository('TestBundle:Kunden')->find($name);

  return $this->render(sprintf('TestBundle:Kunden:file.%s.twig', $format), array(
    'name' => $name,
    'entity' => $entity,
  ));

我想将文件保存在上传文件夹中,所以我尝试了在文档或其他帖子中找到的代码。 (控制器)

 public function pdfAction($name)
{
  $format = $this->get('request')->get('_format');                  
  $em = $this->getDoctrine()->getManager();
  $entity = $em->getRepository('TestBundle:Kunden')->find($name);
  $facade = $this->get('ps_pdf.facade');
  $response = new Response();                           

  $this->render(sprintf('TestBundle:Kunden:file.%s.twig', $format), array('entity' => $entity,'name' => $name,), $response);

  $xml = $response->getContent();
  $content = $facade->render($xml);

  return new Response($content, 200, array('content-type' => 'application/pdf'));
}

我知道我错过了什么,但我不知道在哪里可以定义路径或文件名。如何从上传文件夹中的fileAction()保存生成的pdf?

1 个答案:

答案 0 :(得分:1)

你在做什么只是生成一个pdf文件并将其作为响应/下载响应返回。 将文件保存到上载目录是另一项任务。我建议您使用文件抽象层,例如“Gaufrette”或“Flysystem” 不能在这里发布一个完整的例子,因为它太长了包括所有配置的东西,但最后你会有类似的东西:

 $filesystem->write('myFile', $content);

希望这有帮助, ++