PHP/laravel S3に保存した画像を表示させることについての質問
Q&A
Closed
laravelについてご質問です。
S3で画像を保存して、表示したいのですが、以下のようなエラーが出てしまいまして、そのエラーの意味がよくわからかくて先に進めないです。
提示していただきたい箇所がございましたら、おっしゃって頂くようお願い申し上げ
ます。
なにか解決策を頂けたら嬉しいです。
画像を表示させたい箇所です。(こちらがエラーになっております)
使用環境: Laravel framework 6.18.24
form.blade.php
@if (count($boards) > 0)
<ul class="list-unstyled" style="background:#D9E5FF;">
@foreach ($boards as $board)
//エラーの部分
<img src="{{ Storage::disk('s3')->url($board->image) }}" style="width:70px; height:70px;">
@endforeach
</ul>
{{-- ページネーションのリンク --}}
{{ $boards->links() }}
@endif
画像を選択する箇所です
board.blade.php
<form method="POST" action="{{route('boards.store')}}" enctype="multipart/form-data">
@csrf
<div class="form-image">
<input type="file" name="image" id="img">
</div>
コントローラー@storeです
php:boardsController.php
public function store(Request $request)
{
// バリデーション
$request->validate([
'content' => 'required|max:255',
]);
$file = $request->file('image');
$file_path= 'images';
// S3に接続
$path = Storage::disk('s3')->putFile($file_path, $file, 'public');
// 認証済みユーザ(閲覧者)の投稿として作成(リクエストされた値をもとに作成)
$request->user()->boards()->create([
'content' => $request->content,
'image' => $path,
]);
// 前のURLへリダイレクトさせる
return back();
}
0 likes