使用AWS S3实例进行存储时在流明中找不到类'存储'

Gau*_*lik 1 php amazon-s3 laravel lumen laravel-5.2

我正在使用AWS s3实例存储所有文件。但它显示未找到存储类。我已导入所有必需的名称空间和类。

use Storage;
use Illuminate\Http\Request;
use Illuminate\Contracts\Filesystem\Filesystem;
Run Code Online (Sandbox Code Playgroud)

函数逻辑就是这样。

 public function insertAdvertisement($input)
{
    $advertisment = new AdvertisingBanner;

    $image = $input['image'];

    $imageName = "Banner" . time() . '.' . $input['image']->getClientOriginalExtension();

    /*$input['image']->move(
            base_path() . '/public/uploads/advertiseImages/', $imageName
    );*/

    $disk = \Storage::disk('s3');
    $filePath ='/public/uploads/advertiseImages/'.$imageName;
    $s3->put($filePath, file_get_contents($image), 'public');

    $advertisment->title = $input['title'];

    $advertisment->image = $imageName;

    $advertisment->added_by = $input['added_by'];

    $advertisment->save();

    return $advertisment->save();

}
Run Code Online (Sandbox Code Playgroud)

pat*_*cus 5

流明5.2+删除了Storage立面的全局类别名。将您的use声明更改为:

use Illuminate\Support\Facades\Storage;
Run Code Online (Sandbox Code Playgroud)

然后在您的代码中:

// no starting slash; rely on use statement
$disk = Storage::disk('s3');
Run Code Online (Sandbox Code Playgroud)