2013-03-11 33 views
0

在我的web应用程序中,当用户转到此URL时,我可以使用gedooo按需生成多个odt文件的pdf文件:modelsController生成pdf并启动下载航海家。CakePHP读取生成的PDF并将其作为字节发送

现在,我必须通过webservice从模型发送pdf的内容(如电子邮件中的附件)到远程应用程序。问题是执行PDF生成并将其集成到我的请求中,而不将它存储在服务器上作为文件。我试图做类似的事情:

$pdf = new File('http://{base_url}/models/generer/{doc_id}'); 
$content = $pdf->read(); 

我得到一个错误。我没有想法,我需要你的帮助。

+3

你什么错误? – Zim84 2013-03-11 10:52:21

回答

0

我找到了解决办法!

$this->requestAction($url); 
是写文件我的webapp的文件夹中

$content = file_get_contents($local_url) 
2

您无法传输PDF(二进制文件)。

,如果你想给它的web服务传递,你必须把它转换为Base64

$file = file_get_contents('http://{base_url}/models/generer/{doc_id}'); 
$filedata = base64_encode($file); 

现在你可以在Web服务发送该数据

echo json_encode(array('file'=>$filedata)); 
+0

问题是file_get_contents返回登录页面.. – FAjir 2013-03-11 12:55:03

+0

但感谢base64_encode! – FAjir 2013-03-11 12:55:21

+0

如果您有安全性,那么您必须使该页面公开或通过基于令牌的登录访问。 – 2013-03-12 09:40:53

相关问题