実現したいこと
storageフォルダの中のimagesフォルダに保存した画像ファイルをページに表示したいです。
表示したい画像ファイルのパスは下記です。
画像ファイルのパス:C:\xampp\htdocs\アプリ名\storage\app\images\sample.jpg
試したこと
参考サイト1の通りに、ビューにimgタグを書きましたが、表示されず。パスの画像ファイルは存在しないとブラウザに出ます。
参考サイト1の通りに、下記のコマンドを打ち、シンボリックリンクは張ってあります。
$ php artisan storage:link
※ビューの@if ($is_image)の中身が画像以外表示されているので、$is_imageの値はTrueとしてビューに渡っています。
表示結果
↓画像のパスが間違っているのか?下のように、画像がないという表示になります。
デベロッパーツールのエラーメッセージ
sample.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
ビュー(index.blade.php)
<html lang="ja"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- input fileタグは省略 --> @if ($is_image) <figure> <!-- ↓参考サイト通りimgタグを入力したが、表示されず --> <img src="{!! asset('/storage/images/sample.jpg') !!}"> <br> <img src="{{ asset('storage/images/sample.jpg') }}" width="300px" height="300px"> <figcaption>現在のプロフィール画像</figcaption> </figure> @endif </body> </html>
コントローラー
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\UploadRequest; use Illuminate\Support\Facades\Storage; class UploadController extends Controller { // public function index() { $is_image = false; if (Storage::disk('local')->exists('/images/sample.jpg')) { $is_image = true; } return view('index', ['is_image' => $is_image]); } }
参考サイト
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/12 06:38
2020/12/12 06:41
2020/12/12 06:48
2020/12/12 07:09
2020/12/12 07:20