Laravel创建下载链接到存储

时间:2017-10-27 19:52:48

标签: laravel

我在/storage/excel/exports/abc.xls中有一个文件,我想创建一个下载链接,所以我写道:

<a href="{{asset('storage/excel/exports/'.$file)}}" download>{{$file}}</a>

但是当我点击链接时,它找不到该文件。然后我在Inspect Element中查看了href,链接是 http://localhost/[my-project]/public/storage/excel/exports/abc.xls

当我使用Inspect Element清除public/并更改了href值时,链接工作正常并下载了文件。

我有不同的方法来解决这个问题,但我确信它们都不是最佳做法。

在laravel中创建存储文件夹中文件的链接的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Laravel 5.5,则可以使用Storage课程。然后,您可以使用Storage::url($file),它应该为您的文件获取正确的网址。

但是,根据文档:

  

请记住,如果您使用的是本地驱动程序,则应该可以公开访问的所有文件都应放在storage / app / public目录中。此外,您应该在public / storage处创建一个指向storage / app / public目录的符号链接。