将文件上传到S3存储桶时,我遇到了Laravel 5文件系统的问题.运行到文件系统的行是:
Storage::disk('s3')->put($slug, $img);
Run Code Online (Sandbox Code Playgroud)
它的工作原理应该是:
Storage::disk('local')->put($slug, $img);
Run Code Online (Sandbox Code Playgroud)
但是当我将磁盘更改为S3时,它会抛出以下错误:
Class 'League\Flysystem\AwsS3v3\AwsS3Adapter' not found
Run Code Online (Sandbox Code Playgroud)
根据L5文档,我在composer.json中有以下要求
"league/flysystem-aws-s3-v2": "~1.0"
Run Code Online (Sandbox Code Playgroud)
其中安装了联盟的aws flysystem适配器:
League\flysystem-aws-s3-v2\
Run Code Online (Sandbox Code Playgroud)
我已经尝试将filess vendor文件夹中的fileSystemManager.php中的路径更新为aws flysystem安装路径,但它仍然无效.我似乎无法找到任何经历过这种行为的人.
一双新鲜的眼睛或知识渊博的头脑,他们可能比我更了解Laravel.我真的无法解决这个问题.
UPDATE
我做了一个全新安装的aws flysystem而不是我得到以下内容:
ErrorException in Util.php line 250:
fstat() expects parameter 1 to be resource, object given
Run Code Online (Sandbox Code Playgroud)