我需要生成PDF文档,并通过电子邮件发送它们,并通过链接使它们可以访问。 通过电子邮件发送是可以的,但我不知道如何创建链接。
由于我使用Laravel 4,所有链接都经过routes.php
。
那么如何在给定目录中创建指向文件的链接?
<a href="http://my.domain.org/assets/pdf/file.pdf">Link</a>
不起作用,因为laravel不知道路线......
答案 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
文件夹。