在存儲我有/項目/(nameofproject - 不總是相同)/header.jpg,也有/項目/(nameofproject - 不總是相同)/home.png。Laravel符號鏈接存儲和顯示圖片
我如何在我的視圖中顯示它們?
我再解釋一下。 在過去,我有/ public/assets/img/projects項目,現在我動態地做到這一點。
我的函數來創建新的項目並保存圖像是這樣的:
public function storeProject(Request $request)
{
$project = new Project();
$project->slug = $request->input("slug");
$project->position = $request->input("position");
$project->public = $request->input("public");
$project->pathheader = $request->file('pathheader');
$project->pathhome = $request->file('pathhome');
\Storage::disk('projects')->makeDirectory($project->slug);
\Storage::disk('projects')->putFileAs($project->slug,$project->pathheader,'header.png');
\Storage::disk('projects')->putFileAs($project->slug,$project->pathhome,'home.png');
$project->save();
return redirect('/admin/projects');
}
我過去做的項目,我用這種表現出來的圖片:(我傳遞到視圖中的變量$項目)
<p class="lead"><img src="/assets/img/projects/{{$project->slug}}/header.jpg" width="50%" >Header</p>
<p class="lead"><img src="/assets/img/projects/{{$project->slug}}/home.jpg" width="50%">Home</p>
如何顯示存儲文件夾的圖像?
編輯
filesystems.php代碼:
'projects' => [
'driver' => 'local',
'root' => storage_path() . '/projects',
'visibility' => 'public',
],
查看看現在這個樣子:
@if (Storage::disk('projects')->has($project->slug))
<img src="{{ asset('storage/projects/'.$project-
>slug.'/header.jpg') }}" width="50%" >
@else
<p class="lead"><img src="/assets/img/projects/{{$project-
>slug}}/header.jpg" width="50%" >Header</p>
@endif
我做:
PHP工匠存儲:鏈接
圖片網址:http://url.loc/storage/projects/hola-que-tal/header.jpg(未顯示)。
https://stackoverflow.com/questions/40936332/laravel-link-to-a-file-saved-in-storage-folder – Bas
@Bas「請記住,如果您使用的是本地驅動程序,那麼所有文件應該可以公開訪問的應該放在storage/app/public目錄中。此外,你應該在public/storage中創建一個指向storage/app/public目錄的符號鏈接。「不在存儲/應用程序/公共,他們在/存儲/項目/ $文件夾名稱(變量) –