首页 文章

app / public(laravel)中的图片未在Heroku应用中显示

提问于
浏览
0

我有一个laravel项目,其中一个部分将图像上传到服务器 . 使用文件存储并在/ storage / app / public文件夹中保存图像 . 在本地工作正常,图像看起来不错,但是当我将项目上传到heroku时,图像看不到 . 即使在heroku运行命令“php artisan storage:link”

为什么我看不到图像?我不想为此使用AWS S3 . 我能错过什么?

谢谢..

3 回答

  • 1

    Heroku没有文件存储空间 . 因此,如果您要将它用于服务器,则需要找出另一种存储文件的方法 .

  • 0

    在你的composer.json中添加:

    “post-install-cmd”:[“ln -sr storage / app / public public / storage”],

  • 0

    您也可以将图像上传到公共文件夹而不是存储文件夹(通过这种方式,您不会遇到上述问题) . 为此您需要在 app/filesystem.php 中更改配置

    更改

    'public' => [
                'driver' => 'local',
                'root' => storage_path('app/public'),
                'url' => env('APP_URL').'/storage',
                'visibility' => 'public',
            ],
    

    对此:

    'public' => [
                'driver' => 'local',
                'root' => public_path(),
                'url' => env('APP_URL').'/public',
                'visibility' => 'public',
            ],
    

    你可以存储文件:

    $pathToFile = Storage::disk('public')->put('uploads/', $file);
    

    现在您可以将 $pathToFile 变量插入DB!

相关问题