【问题标题】:Laravel - link to a file saved in storage folderLaravel - 链接到存储文件夹中保存的文件
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

    • 使用这个,每个知道这个链接的人都可以看到这个文件。如果只有经过身份验证的用户才能查看和下载文件怎么办?
    • 然后你把链接放在 auth 中间件后面
    【解决方案2】:

    更新:

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

    use Illuminate\Support\Facades\Storage;
    
    $url = Storage::url('file1.jpg');
    

    请记住,如果您使用的是本地驱动程序,则应将所有文件 可公开访问的应放在storage/app/public 目录。此外,您应该在 public/storage 指向storage/app/public 目录。

    希望这会有所帮助!

    【讨论】:

    • 我现在测试一下
    【解决方案3】:

    场景——(从一个全新的 Laravel 5.6 项目安装工作以供参考): 现有的默认路径是 /public 和 /storage/app/public 并且您希望将 logo.png 图像物理存储在 /storage 文件夹中并在欢迎页面上呈现它,该过程将如下所示:

    1. 在您的终端中,导航到您的 Laravel 项目文件夹。
    2. 运行命令php artisan storage:link
    3. 现在在您的 /storage/app/public 文件夹中创建文件夹 /images,它会为您提供 /storage/app/public/images。
    4. 查看您的 /public 文件夹,您将看到(快捷方式)子文件夹 /storage/images
    5. 将名为 logo.png 的测试图像复制到 /storage/app/public/images 文件夹中。
    6. 在您项目的 /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>
      
    7. 保存并在浏览器中打开您的项目,您应该会看到徽标图像。

    说了这么多,以后你需要一个pdf文件夹来存储上传的pdf 文件。很简单,只需在 /storage/app/public 中创建一个名为 /pdf 的新文件夹,然后 快捷方式将自动出现在 /public 文件夹中。这是一个“一劳永逸”的解决方案。

    【讨论】:

    • 我做同样的事情,但不适合我。存储快捷方式文件夹已创建,但存储文件夹内部未创建。比如:- storage\app\public
    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 2017-11-19
    • 2017-12-10
    • 1970-01-01
    • 2019-04-13
    相关资源
    最近更新 更多