如何使用文件系统 select 磁盘

How to select disk using Filesystem

所以如果我有这样的控制器:

class ExampleController extends Controller {

    protected $filesystem;

    public function __construct(Filesystem $filesystem)
    {
        $this->filesystem = $filesystem;
    }

如何告诉文件系统我想使用哪个磁盘?

即这不起作用:

    public function test()
    {
         $this->filesystem->disk('s3')->doSomething();   
    }

但这确实:

    public function test()
    {
         \Storage::disk('s3')->doSomething();
    }

有没有一种方法可以在不使用 Facade 的情况下指定我要使用的磁盘?

好的 - 我解决了。

您需要使用工厂合约:

use Illuminate\Contracts\Filesystem\Factory as Filesystem;

这使您可以访问 disk() 方法。