Laravel路由:如何创建指向PDF文件的链接


Laravel routing: How to create a link to a PDF file

我需要生成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文件夹。