【问题标题】:Can't make a public storage folder in laravel 5.2无法在 laravel 5.2 中创建公共存储文件夹
【发布时间】:2021-12-14 17:47:46
【问题描述】:

我的 laravel 项目是这样设置存储的:

-storage
  -app
  -services

我为 app 文件夹设置了一个文件系统,但我最近刚刚为这样的服务设置了一个新文件系统

    services' => [
        'driver'     => 'local',
        'root'       => public_path('services'),
        'visibility' => 'public'
    ],

我的问题是,现在当我从该文件夹中取出一个文件并在前端使用 URL 时,它说找不到该文档,这是因为 URL 实际上是这样打印出来的:

/storage/testfile.txt

我期待的地方

/storage/services/testfile.txt

但我似乎无法使用此控制器代码正确显示 URL:

    $file1 = 'testfile.txt';
    $file2 = 'test2.txt';

    $url1 = Storage::disk('services')->url($file1);
    $url2 = Storage::disk('services')->url($file2);



    if(Storage::disk('services')->exists($file1)){
        $files[1] = public_path($url1);
    }

    if(Storage::disk('services')->exists($file2)){
        $files[2] = public_path($url2);
    }

    $PDFfiles = json_encode($files);

    dd($PDFfiles);

我真的不知道如何将其更改为链接到公用文件夹,但我的 filesystems.php 文件中目前没有公用驱动程序,并且我的公用文件夹中根本没有存储文件夹

我正在运行 laravel 5.2,所以我也无法运行 php artisan storage::link

如何解决此问题,以便在我的网页上显示带有公共 URL 的文件?

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    php artisan storage:link 仅创建从/public/storage/storage/app/public 的符号链接。

    你可以:

    • 手动创建链接并将文件存储在/storage/app/public 文件夹中。 (使用ln -s
    • 将文件直接保存到/public 文件夹。
    • 创建一个端点以从storage 文件夹中检索某些文件。

    【讨论】:

    • 关于那里的第二点,您的意思是将文件保存在 app/public 或 /storage/app/public 中吗?
    • 公用文件夹不应位于app 文件夹中。它应该位于项目的根目录。第二点,我说的是这个文件夹。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多