我想在 laravel 9 中更改我的存储路径

问题描述 投票:0回答:2

我所有上传的文件都保存在Project/Storage/App中

但是我想保存在cdn.myproject.com/files/

我该怎么做,请指导我

谢谢

php laravel cdn
2个回答
0
投票

您要更改整个存储路径,还是只更改上传路径?

要更改存储/路径:在

app/Providers/AppServiceProvider
register()
方法中,添加以下行:

$this->app->useStoragePath('/path/to/your/storage/directory/');

如果您只想更改上传目录,请按照this文档


0
投票

默认文件系统磁盘在 /config/filesystems.php 中定义。条目看起来像这样:

'default' => env('FILESYSTEM_DISK', 'local'),

您可能在 .env 文件中有也可能没有 FILESYSTEM_DISK 的条目。如果不是,则此示例中的默认值设置为“本地”。 'local' 在 filesystems.php 文件的下方定义,如下所示:

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
    'throw' => false,
],

将默认文件系统磁盘更改为“public”(在 .env 文件或 filesystems.php 中)。默认的“公共”配置应该是这样的:

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

正如你在上面看到的,Laravel 想要将你的文件存储在存储路径中。由于这是一个“非公共”目录,您必须使用“php artisan”来创建从该位置到公共目录中某个位置的符号链接。使用这个命令:

$ php artisan storage:link

最后,您可以通过指定将图像存储在 /files 目录中:

$attributes['newfile'] = request()->file('newfile')->store('files');

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.