2017-07-22 7 views
1

私はクライアントIDを持つ写真をアップロードできるスクリプトがあります。写真はstorage/app/publicで、ファイル名はdbです。その後、私は名前を取得し、写真やファイルを表示しようとしますが、私はできません。 は、ここに私のコードです:Laravelは画像を表示できません

public function file($id) 
{ 
    $client = Client::findOrFail($id); 
    return View::make('file', compact('client')); 
} 

file.blade.php

<img src="{{ public_path($file_name) }}" /> 

とコンソールログ:ここ

'disks' => [ 

     'local' => [ 
      'driver' => 'local', 
      'root' => storage_path('app'), 
     ], 

     'public' => [ 
      'driver' => 'local', 
      'root' => storage_path('storage/app/public'), 
      'url' => env('APP_URL').'/storage', 
      'visibility' => 'public', 
     ], 

はコントローラである

enter image description here

どのようにファイルを表示できますか?

+0

'$ file_name'の値はどうやって決められますか? –

答えて

0

はあなたが公衆にストレージからのシンボリックリンクを作成していることを確認してください。

シンボリックリンクを作成するには、ストレージを使用することがあります。リンク職人コマンド:

php artisan storage:link 

あなたは画像を表示するには、次のようにストレージのURLにアクセスすることができます。

<img src="{{ url('/') . Storage::url($file_name) }}"> 

続きを読む:https://laravel.com/docs/5.4/filesystem#the-public-disk

+0

何がここにあるべきですか? FULLY_QUALIFIED_PATH @Waleed –

+0

私の答えを – Waleed

+0

更新しました。ありがとう –

0

パブリックディスクは、一般に公開されるファイルを対象としています。既定では、publicディスクはローカルドライバを使用し、これらのファイルをstorage/app/publicに格納します。 Webからアクセスできるようにするには、public/storageからstorage/app/publicまでのシンボリックリンクを作成する必要があります。リンク職人コマンド:

あなたがストレージを使用することができ、シンボリックリンクを作成するには

php artisan storage:link 

https://laravel.com/docs/5.4/filesystem#the-public-disk

+0

またファイルのURLを取得するために 'Storage :: disk(" public ") - > url($ file_name)'を実行する必要があります – apokryfos

+0

@apokryfos add add blade? –

+0

そして、私は "パブリック/ストレージはすでに存在しています"を得ました。再び何をすべきかわからない –

関連する問題