前提・実現したいこと
S3に保存された画像をビューで表示できません。(確認済み:AWS S3の方には画像データははいっていました)
恐らくsrcの指定方法が誤っているのではないかと思っています、解決方法がわからない状態です。
以下画像を表示させるために試したルート
<img src="{{ asset('/storage/'.$post->image_file)}}" width="150px">
<img src="{{ $post->image_file }}" width="150px"/>
<img src="{{ $post->path }}"width="150px">
<img src="{{ Storage::disk('s3')->url('/{$image_file public}' )}}" width="150px">
該当のソースコード
PostsController.php
php
1 2 /** 3 * バリデーション、登録データの整形など 4 */ 5 public function store(PostRequest $request) 6 { 7 $image_file = ""; 8 $upload_image = $request->file('image_file'); 9 10 if ($upload_image) { 11 $path = Storage::disk('s3')->put('/', $upload_image, 'public'); 12 if ($path) { 13 $image = Image::make($upload_image->getRealPath()); 14 $image->path = Storage::disk('s3')->url($path); 15 $image->resize(150, 150); 16 $image->save(); 17 $image_file = $path; 18 } 19 } 20 21 22 23 $post = new Post; 24 $post->subject = $request->subject; 25 $post->message = $request->message; 26 $post->image_file = $image_file; 27 $post->name = ""; 28 $post->user_id = Auth::id(); 29 $post->save(); 30 return redirect('/act')->with('poststatus', '新規投稿しました'); 31 }
index.blade
php
1 <tbody id="tbl"> 2 @foreach ($posts as $post) 3 <tr> 4 <td>{{ optional ($post)->id }}</td> 5 <td>{{ optional ($post->created_at)->format('Y.m.d') }}</td> 6 <td>{{$post->user->name}}</td> 7 <td>{{ optional ($post)->subject }}</td> 8 <td> 9 @if (empty($post->image_file)) 10 11 @else 12 <img src="{{ asset('/storage/'.$post->image_file)}}" width="150px"> 13 <img src="{{ $post->image_file }}" width="150px"/> 14 <img src="{{ $post->path }}"width="150px"> 15 <img src="{{ Storage::disk('s3')->url('/{$image_file public}' )}}" width="150px"> 16 @endif 17 </td>
どなたかご教授いただけるとありがたいです。
あなたの回答
tips
プレビュー