我所有上传的文件都保存在Project/Storage/App中
但是我想保存在cdn.myproject.com/files/
我该怎么做,请指导我
谢谢
您要更改整个存储路径,还是只更改上传路径?
要更改存储/路径:在
app/Providers/AppServiceProvider
register()
方法中,添加以下行:
$this->app->useStoragePath('/path/to/your/storage/directory/');
如果您只想更改上传目录,请按照this文档
默认文件系统磁盘在 /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');
我希望这有帮助。