我在Silex应用程序中使用Knp \ Snappy \ Pdf生成pdf。文件名是随机的并保存到tmp目录。用Silex/Symfony发送响应后删除文件
$filename = "/tmp/$random.pdf"
$snappy->generate('/tmp/body.html', $filename, array(), true);
我想返回的响应PDF,
$response = new Response(file_get_contents($filename));
$response->headers->set('Pragma', 'public');
$response->headers->set('Content-Type', 'application/pdf');
return $response;
的PDF正确显示在Web浏览器。当请求完成时,具有随机文件名的文件仍然存在。在返回响应之前,我无法取消链接文件。我试着用register_shutdown_function注册一个关闭函数,并从那里取消链接文件。但是,这似乎并不奏效。有任何想法吗?
你应该使用'BinaryFileResponse'的文件,它需要照顾的头给你。 – leftclickben 2013-03-06 04:56:13