LaravelでS3を使う


lysystem-aws-s3-v3 1.0 インストール

プロジェクトのルートィレクトリにflysystem-aws-s3-v3 1.0をインストール

プロジェクトルート $ composer require league/flysystem-aws-s3-v3 1.0

.envにS3のバケットとアクセスキーの設定

.env に AWS S3へのアクセス認可されてるIAMアカウントのアクセスキーを入力

アクセスキーのCSVファイルがあれば、それを参照。

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=ap-northeast-1
AWS_BUCKET=バケット名

コントローラーにS3用のトレイトを入力(必須かは不明)

use Illuminate\Support\Facades\Storage;

こんな感じで使う

use Illuminate\Support\Facades\Storage;

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

// S3に格納する処理
public function store(Request $request) {

//リクエストから画像を受ける
$image = $request->file('image');

// 第一引数:保存場所(バケット内)のパス
// 第二引数:保存したい画像
// 第三引数: 外部からアクセスするのに必要らしい
Storage::disk('s3')->putFile('/',$image,'public');
}