Laravel - 链接到保存在存储文件夹中的文件

lew*_*s4u 5 laravel laravel-5.3

当我们做这样的事情时:

Storage::disk('local')->put('file.txt', 'Contents');
Run Code Online (Sandbox Code Playgroud)

如何在视图中创建指向该文件的链接?像这样的东西:

<a href="path_to_file.txt">Download File</a>
Run Code Online (Sandbox Code Playgroud)

文档中有很多东西,但甚至没有一个示例如何创建指向该文件的链接

小智 6

在你的终端上试试这个命令:php artisan storage:link,然后 Laravel 存储成为公共访问。

<a href="{{url('/')}}/{{ Storage::disk('local')->url('file.txt')}}">Download File</a>
Run Code Online (Sandbox Code Playgroud)

  • 使用它,拥有此链接的每个人都可以看到该文件。如果只有经过身份验证的用户才能查看和下载文件怎么办? (2认同)

Sau*_*ogi 5

更新

根据laravel 文档,您可以像这样获取文件的 URL:

use Illuminate\Support\Facades\Storage;

$url = Storage::url('file1.jpg');
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助!