Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel创建到存储的下载链接_Laravel - Fatal编程技术网

Laravel创建到存储的下载链接

Laravel创建到存储的下载链接,laravel,Laravel,我在/storage/excel/exports/abc.xls中有一个文件,我想创建一个指向它的下载链接,所以我写了: <a href="{{asset('storage/excel/exports/'.$file)}}" download>{{$file}}</a> 但是当我点击链接时,它找不到文件。然后我查看了Inspect元素中的href,链接是http://localhost/[我的项目]/public/storage/excel/exports/abc.

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

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

但是当我点击链接时,它找不到文件。然后我查看了Inspect元素中的href,链接是
http://localhost/[我的项目]/public/storage/excel/exports/abc.xls

当我使用Inspect元素清理
public/
并更改href值时,链接工作正常,它下载了文件

我有不同的方法来解决这个问题,但我确信没有一种是最佳实践


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

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

然而,根据文件:

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


你使用的是什么版本的Laravel?@WildBeard我使用的是Larave 5.5