【发布时间】:2016-12-02 16:02:57
【问题描述】:
当我们做这样的事情时:
Storage::disk('local')->put('file.txt', 'Contents');
如何在视图中创建指向该文件的链接?像这样的:
<a href="path_to_file.txt">Download File</a>
文档中有很多东西,但甚至没有一个示例如何创建指向该文件的链接
【问题讨论】:
标签: laravel laravel-5.3
当我们做这样的事情时:
Storage::disk('local')->put('file.txt', 'Contents');
如何在视图中创建指向该文件的链接?像这样的:
<a href="path_to_file.txt">Download File</a>
文档中有很多东西,但甚至没有一个示例如何创建指向该文件的链接
【问题讨论】:
标签: laravel laravel-5.3
在你的终端上试试这个命令:php artisan storage:link,然后laravel storage变成公共访问。
<a href="{{url('/')}}/{{ Storage::disk('local')->url('file.txt')}}">Download File</a>
【讨论】:
更新:
根据laravel docs,你可以像这样获取文件的URL:
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file1.jpg');
请记住,如果您使用的是本地驱动程序,则应将所有文件 可公开访问的应放在
storage/app/public目录。此外,您应该在public/storage指向storage/app/public目录。
希望这会有所帮助!
【讨论】:
场景——(从一个全新的 Laravel 5.6 项目安装工作以供参考): 现有的默认路径是 /public 和 /storage/app/public 并且您希望将 logo.png 图像物理存储在 /storage 文件夹中并在欢迎页面上呈现它,该过程将如下所示:
php artisan storage:link
在您项目的 /resources/views 下的 welcome.blade.php 中粘贴 以下代码覆盖现有代码:
<div class="content">
<div class="title m-b-md">
Laravel
<div>
<a href="/">
<img src="{{url('/storage/images/logo.png')}}" alt="Logo Image"/>
</a>
</div>
</div>
</div>
保存并在浏览器中打开您的项目,您应该会看到徽标图像。
说了这么多,以后你需要一个pdf文件夹来存储上传的pdf 文件。很简单,只需在 /storage/app/public 中创建一个名为 /pdf 的新文件夹,然后 快捷方式将自动出现在 /public 文件夹中。这是一个“一劳永逸”的解决方案。
【讨论】: