我需要生成PDF文档并通过电子邮件发送它们,并使它们可以通过链接访问它们。通过电子邮件发送是可以的,但我不知道如何创建链接。
自从我使用 Laravel 4 以来,所有链接都在通过 routes.php
.那么如何在给定目录中创建指向文件的链接呢?
<a href="http://my.domain.org/assets/pdf/file.pdf">Link</a>
行不通,因为拉拉维尔不知道路线......
要生成指向物理文件或目录的链接,您不想通过 Laravel 的应用程序运行(例如通过 index.php),请使用 URL::asset()
.
URL::asset('assets/pdf/file.pdf');
这假设您已在服务器上创建了要链接到的物理 PDF 文件。如果您的PDF文件是动态的,并且是通过Laravel应用程序生成/检索的,则应使用URL::to()
,URL::route()
或类似文件。
Martin Tale是对的,但这是使用Laravel's Blade实现相同目标的另一种方式:
{{ link_to('/assets/pdf/file.pdf', 'Link') }}
在公共目录中的某个位置创建该 PDF,然后创建指向该文件的链接,如下所示:
URL::to('path/to/public/directory/file.pdf')
如果您使用的是 laravel 4 的 MAIL 功能,则可以将其添加到其中
$message->attach($pathToFile);
但是.pdf在您的公共目录中的 PDF 文件夹下,这将使它:
$message->attach('pdf/mypdffile.pdf');
您可以添加到电子邮件的链接也是如此
{{ URL::to('pdf/mypdffile.pdf') }}
不需要路由来创建链接,可以通过边栏选项卡完成。
另一种方式,在视图中:
<a href="{{ asset('/your_pdf_file.pdf') }}">some text</a>
此链接将转到public
文件夹。