Amazon S3で画像を保存したいと思いましたが、下記エラーで保存ができません。  
アクセス権限は許可しています。

**putでファイルを送信するとエラーが出力される:**

[![putでファイルを送信するとエラーが出力される。](https://i.stack.imgur.com/pe6GI.png)](https://i.stack.imgur.com/pe6GI.png)

.envのアクセスキー及び、シークレットアクセスキーも誤りがないのでそのへんは関係ないのかなとは思うのですが。

[![画像の説明をここに入力](https://i.stack.imgur.com/RV6z2.png)](https://i.stack.imgur.com/RV6z2.png)

ちなみに以下のようにバケットから画像を取得することはできます。

[![画像の説明をここに入力](https://i.stack.imgur.com/tljVo.png)](https://i.stack.imgur.com/tljVo.png)

S3のバケットから画像の情報のgetはできるのですが、putはできない状況です。何か考えられる原因がありましたらご教授いただければと思います。

* * *

viewファイル

```

       <form action="{{route('upload')}}" method="post" enctype="multipart/form-data">
                  {{ csrf_field() }}
                  <input type="file" name="file">
                 <button type="submit">保存</button>
     　</form>
    
```

コントローラ

```

      public function upload(Request $request)
        {
            $this->validate($request, [
                'file' => 'required|image'
            ], [
                'file.required' => '画像が選択されていません',
                'file.image' => '画像ファイルではありません',
            ]);
            $file = $request->file('file');
            //dd($file);
            $list = Storage::disk('s3')->files('');
            //dd($list);
            $path = Storage::disk('s3')->put('/', $file, 'public');
            //dd($path);
            return redirect("/");
        }
    
```
CC BY-SA 4.0
2021-07-18T09:03:12.940
78268
2021-07-18T11:59:59.160
2021-07-18T11:30:00.683
3060
43365
question
php laravel amazon-s3
Laravelを利用してAmazon S3に画像を保存できない
エラーが出たら「どんなエラー内容なのか」を確認してみることをお勧めします。私自身は Amazon S3
を使用したことが無いので具体的な回答はできませんが、まず「amazon s3 put access
denied」で検索すると以下のトラブルシューティングが見つかります。

[Amazon S3 から 403: Access Denied
エラーをトラブルシューティングする方法](https://aws.amazon.com/jp/premiumsupport/knowledge-
center/s3-troubleshoot-403/)

また、一般的な話をするなら取得 (参照)
は自身で設定されたパブリックアクセスでの権限で問題ないのでしょうが、新しくファイルを書き込むには別の権限が必要になってくるのだと思われます。まずはこの辺りをチェックしてみてください。
CC BY-SA 4.0
2021-07-18T11:59:59.160
78276
2021-07-18T11:59:59.160
3060
78268
answer