はこのテーマでは、いくつかの研究の後、私は同じ問題で複数のスレッドを発見し、これはと思われます私には少し混乱しますが、それはまったく別の話です。
"league/flysystem-aws-s3-v3": "~1.0"
がサービスproviverとしてカスタムファイルシステムを追加します(docsを見てください):
use Illuminate\Support\ServiceProvider;
use Aws\S3\S3Client;
use League\Flysystem\AwsS3v3\AwsS3Adapter;
use League\Flysystem\Filesystem;
use Aws\Laravel\AwsServiceProvider;
use Storage;
class ObjectStorageServiceProvider extends ServiceProvider
{
/**
* Perform post-registration booting of services.
*
* @return void
*/
public function boot()
{
Storage::extend('object-storage', function($app, $config) {
$client = new S3Client([
'credentials' => [
'key' => $config['key'],
'secret' => $config['secret'],
],
'region' => $config['region'],
'version' => $config['version'],
'endpoint' => $config['endpoint'],
'ua_append' => [
'L5MOD/' . AwsServiceProvider::VERSION,
],
]);
return new Filesystem(new AwsS3Adapter($client, $config['bucket_name']));
});
}
/**
* Register bindings in the container.
*
* @return void
*/
public function register()
{
//
}
}
あなたがする必要がどのような
は、あなたのcomposer.php
ファイル内のファイルシステムドライバとしてAWS S3を有効です
そして、object-storage
を登録するサービスプロバイダを作成したら、config/filesystems.php
設定ファイルでオブジェクトストレージドライバを使用できるようになりました。
'object-storage' => [
'driver' => 'object-storage',
'key' => env('OS_KEY', ''),
'secret' => env('OS_SECRET', ''),
'region' => env('OS_REGION', ''),
'version' => 'latest',
'endpoint' => env('OS_ENDPOINT', ''),
'bucket_name' => env('OS_BUCKET_NAME', '')
],
これですべてが完了しました。これでLaravelアプリのオブジェクトストレージバケットを使用できるようになりました。
多分あなたはファイルシステムドライバを使ってそれを行う必要がありますhttps://laravel.com/docs/5.2/filesystem – geoom
オブジェクトストレージドライバのサポートがありません –