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

时间:2013-09-05 15:41:04

标签: php laravel laravel-4

我需要生成PDF文档,并通过电子邮件发送它们,并通过链接使它们可以访问。 通过电子邮件发送是可以的,但我不知道如何创建链接。

由于我使用Laravel 4,所有链接都经过routes.php。 那么如何在给定目录中创建指向文件的链接?

<a href="http://my.domain.org/assets/pdf/file.pdf">Link</a> 

不起作用,因为laravel不知道路线......

5 个答案:

答案 0 :(得分:9)

要生成您不希望通过Laravel应用程序运行的物理文件或目录的链接(例如通过index.php),请使用URL::asset()

URL::asset('assets/pdf/file.pdf');

这假设您已在服务器上创建了要链接到的物理PDF文件。如果您的PDF文件是动态的并通过Laravel应用程序生成/检索,则应使用URL::to()URL::route()或类似文件。

答案 1 :(得分:5)

Martin Tale是对的,但这是使用Laravel's Blade实现同样目标的另一种方式:

{{ link_to('/assets/pdf/file.pdf', 'Link') }} 

答案 2 :(得分:2)

在公共目录中的某处创建该PDF,然后创建一个指向该文件的链接:

URL::to('path/to/public/directory/file.pdf')

答案 3 :(得分:0)

如果您使用laravel 4的MAIL功能,可以将其添加到其中

$message->attach($pathToFile);

但是pdf文件夹下公共目录中的.pdf会生成:

$message->attach('pdf/mypdffile.pdf');

同样适用于您可以添加到电子邮件的链接

{{ URL::to('pdf/mypdffile.pdf') }}

您不需要创建链接的路线,可以通过刀片完成。

答案 4 :(得分:0)

另一种方式,在视图中:

<a href="{{ asset('/your_pdf_file.pdf') }}">some text</a>

此链接将转到public文件夹。