如何将laravel 5.3中的存储路径更改为public?

How to change storage path in laravel 5.3 to public?

laravel 5.3中,如果我从一个表单上传一个文件,它会被存储在自己的存储目录中。然后我应该在 public 路径中为该存储路径创建一个 symlink

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

我试图在 AppServiceProvider.php 中设置路径,但它不起作用。

public function register()
{
    //not working:
    $this->app->useStoragePath( $this->app->basePath() .  "/upload");

    //also not working:
    // $this->app->bind('path.storage', function () {
    // return $this->app->basePath() . '/upload';
    // });

}

by "not working" 我的意思是它还在上传到默认的存储目录。我也清除了缓存。

这里是上传部分(在控制器中使用):

        $request->image->storeAs("uploads", "uploaded_image.jpg");

感谢任何提示。 :)

在 Laravel 5 中,您现在必须在 config/filesystems.php 中执行此操作。您可以像这样添加一个新磁盘:

'disks' => [

    'uploads' => [
          'driver' => 'local',
          'root'   => public_path(), // previously storage_path();
    ],

]

然后执行以下操作来使用它:

Storage::disk('uploads')->put('filename', $file_content);