我在/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中创建存储文件夹中文件的链接的最佳方法是什么?
答案 0 :(得分:1)
如果您使用的是Laravel 5.5,则可以使用Storage课程。然后,您可以使用Storage::url($file)
,它应该为您的文件获取正确的网址。
但是,根据文档:
请记住,如果您使用的是本地驱动程序,则应该可以公开访问的所有文件都应放在storage / app / public目录中。此外,您应该在public / storage处创建一个指向storage / app / public目录的符号链接。