1

我有一个使用DOMPDF返回 PDF 文件的方法。它发送所有正确的标题。它是动态生成的(不存储在任何地方的服务器上)。

我现在必须将此 PDF 附加到传出的电子邮件中。我在Kohana 3中做到了这一点

        $routeUrl = Route::get('secure_view_pdf')->uri(array('id' => $id));

        $response = Request::factory($routeUrl)->execute();


        $tempFile = DOCROOT . 'tmp/pdf-' . $id . '.pdf';

        file_put_contents($tempFile, $response); 


        $swift = email::connect();
        $message = Swift_Message::newInstance();


        $message->setSubject('My Subject')
              ->setFrom(array('info@example.com.au' => 'Example'))
              ->setTo(array($clientEmail => html::chars($clientName)))
              ->setBody($body) 
              ->addPart($body, 'text/html') 
              ->attach(Swift_Attachment::fromPath($tempFile));

        $swift->send($message);

它请求的路由只是发送标题以下载和流式传输 PDF,以便最终用户可以下载它。它还使用Swift Mailer库。

除非我在浏览器中运行此请求,否则它会提示我下载文件。我想输入输出$response并忽略下载标题Content-Disposition: attachment; filename="file #1.pdf"

是否可以按原样接收此请求,然后将其保存到我上面描述的文件中。

或者我应该将 PDF 的自动生成更改为文件,然后简单地用 Swift 指向该文件?

非常感谢

4

1 回答 1

1
  $response = Request::factory($routeUrl)->execute()->response;
于 2010-04-28T15:05:43.043 回答