【问题标题】:crudbooster, How to change storage path in laravel to public?crudbooster,如何将 laravel 中的存储路径更改为公共?
【发布时间】:2017-11-11 22:40:39
【问题描述】:

我在 laravel 5.4 中使用 crudbooster 管理生成器,如果我从表单上传文件,它将存储在自己的存储目录中。然后我应该在公共路径中创建一个指向该存储路径的符号链接。

由于限制,我无法在我的系统上创建符号链接。如何将文件直接上传到 public/uploads 而不是 storage/app/uploads?

【问题讨论】:

  • 当我使用 crudbooster 时,它会将图像文件存储到 storage/app/uploads/06-2017/image.png 并作为 uploads/06-2017/image.png 插入到数据库中我想改变这个情况。
  • 上传表单数据时,能否分享一下您在控制器中使用的代码?我对 crudbooster 不熟悉,但是在查看文档之后,它看起来好像是建立在 laravel 之上的。上传时,最有可能使用 laravel Storage 门面。
  • 抱歉,我找不到 crudbooster 控制器,因为我的控制器和 crudbooster 控制器不同。
  • 你能发一张你的配置目录的图片吗?我想查看配置文件名,以便了解 crudbooster 为您的应用程序提供了哪些选项。
  • 项目文件夹:hizliresim.com/aGjmO7 和conf:hizliresim.com/3qN0RO

标签: laravel upload storage public


【解决方案1】:

老实说,我不知道。我能做的最好的就是为你指明正确的方向。 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);

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我们可以改一下

    vendor/crocodicstudio/crudbooster/src/controllers/cbcontroller.php 行:1010

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2014-03-05
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      相关资源
      最近更新 更多