2013-03-11 55 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

相關問題