10

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

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

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

行不通,因为 laravel 不知道该路线...

4

5 回答 5

10

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

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

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

于 2013-09-05T20:22:33.933 回答
5

Martin Tale 是对的,但这是使用 Laravel 的 Blade 完成相同任务的另一种方式:

{{ link_to('/assets/pdf/file.pdf', 'Link') }} 
于 2013-09-05T16:20:37.917 回答
2

在公共目录中的某处创建该 PDF,然后创建指向该文件的链接,如下所示:

URL::to('path/to/public/directory/file.pdf')
于 2013-09-05T15:52:50.993 回答
0

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

$message->attach($pathToFile);

但是 .pdf 在您的公共目录中的 pdf 文件夹下,这将使它:

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

您可以添加到电子邮件中的链接也是如此

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

您不需要路由来创建可以由刀片完成的链接。

于 2013-09-05T16:27:09.247 回答
0

另一种方式,在视图中:

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

此链接将转到public文件夹。

于 2018-08-20T09:39:34.597 回答