crudbooster,如何将 laravel 中的存储路径更改为 public?
crudbooster, How to change storage path in laravel to public?
我在 laravel 5.4 中使用 crudbooster 管理生成器,如果我从表单上传文件,它将存储在自己的存储目录中。然后我应该在 public 路径中创建指向该存储路径的符号链接。
由于限制,我无法在我的系统上创建符号链接。如何将文件直接上传到 public/uploads 而不是 storage/app/uploads?
老实说,我不知道。我能做的就是为您指明正确的方向。 Crudbooster 依赖于一个名为 UniShard/laravel-filemanager 的包。我正在查看这个包的配置文件,它与配置文件夹中的 lfm.php 类似,只是有更多选项。也许您可以使用这些附加选项之一,例如 base_directory
。不确定这将如何解决,它可能只是编码不当。
原答案:
您需要创建一个新磁盘。
在config\filesystems.php中添加这个。
'disks' => [
'uploads' => [
'driver' => 'local',
'root' => public_path() . '/uploads'
],
],
现在,当你想使用存储外观时,你可以这样做:
Storage::disk('uploads');
用法示例:
Storage::disk('uploads')->put('filename', $file_content);
希望这对您有所帮助。
我们可以在
中更改它
vendor/crocodicstudio/crudbooster/src/controllers/cbcontroller.php行:1010
我在 laravel 5.4 中使用 crudbooster 管理生成器,如果我从表单上传文件,它将存储在自己的存储目录中。然后我应该在 public 路径中创建指向该存储路径的符号链接。
由于限制,我无法在我的系统上创建符号链接。如何将文件直接上传到 public/uploads 而不是 storage/app/uploads?
老实说,我不知道。我能做的就是为您指明正确的方向。 Crudbooster 依赖于一个名为 UniShard/laravel-filemanager 的包。我正在查看这个包的配置文件,它与配置文件夹中的 lfm.php 类似,只是有更多选项。也许您可以使用这些附加选项之一,例如 base_directory
。不确定这将如何解决,它可能只是编码不当。
原答案:
您需要创建一个新磁盘。
在config\filesystems.php中添加这个。
'disks' => [
'uploads' => [
'driver' => 'local',
'root' => public_path() . '/uploads'
],
],
现在,当你想使用存储外观时,你可以这样做:
Storage::disk('uploads');
用法示例:
Storage::disk('uploads')->put('filename', $file_content);
希望这对您有所帮助。
我们可以在
中更改它vendor/crocodicstudio/crudbooster/src/controllers/cbcontroller.php行:1010