我在學習Laravel 5.4
,現在我正嘗試上傳圖片並在html
上顯示上傳的圖片。Laravel 5.4顯示上傳的圖片問題
似乎文件已成功上傳,但當我想在Html
中顯示圖像時,圖像出現404錯誤,並且不顯示任何內容。
這是我的設置和代碼:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required|string|max:255',
'desc' => 'required|string',
'width' => 'required|numeric',
'height'=> 'required|numeric',
'artist'=> 'required|exists:artists,id',
'photo' => 'required|file'
]);
$artistInfo = Artist::find($request->artist);
$fileExtension = $request->file('photo')->extension();
$originalFileName = $request->file('photo')->getClientOriginalName();
$filePath = Storage::putFile('public', $request->file('photo'), 'public');
Photo::create([
'name' => $request->name,
'origName' => $originalFileName,
'url' => $filePath,
'artist_id' => $request->artist,
'desc' => $request->desc,
'width' => $request->width,
'height' => $request->height
]);
return $filePath;//this for test
}
而我的劍:
@forelse($photos as $photo)
<tr>
<td>{{ $photo->name }}</td>
<td>
<img class="img" src="{{ asset('public/storage/' . $photo->url) }}" alt="{{ $photo->name }}" /></td>
<td>{{ $photo->artist->name . ' ' . $photo->artist->family }}</td>
<td>{{ $photo->desc }}</td>
<td>{{ $photo->width }}</td>
<td>{{ $photo->height }}</td>
<td class="text-center">
<a href="{{ route('artists.edit', ['id' => $photo->id]) }}">
<i class="material-icons">edit</i>
</a>
</td>
<td class="text-center">
<a href="{{ route('artists.edit', ['id' => $photo->id]) }}">
<i class="material-icons">assignment_turned_in</i>
</a>
</td>
</tr>
@empty
<tr>
<td>There's no photo Yet</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
@endforelse
注:
我做了一個符號鏈接到我的公用文件夾使用php artisan storage:link
和符號鏈接工作fi NE ...
我在刀片改變了這一行:
<img class="img" src="{{ asset('public/storage/' . $photo->url) }}" alt="{{ $photo->name }}" /></td>
,並試圖以這些方式:
<img class="img" src="{{ asset(storage_path() . ($photo->url)) }}" alt="{{ $photo->name }}" /></td>
<img class="img" src="{{ storage_path() . ($photo->url) }}" alt="{{ $photo->name }}" /></td>
$photo->url
例如具有圖像文件名jDHPOTh7iejFABANSzasNbBWJ09DqLbqJb8ymJhv.png
請你讓我知道哪一部分是我的問題?
由於提前
UPDATE:
我使用PhpStorm
IDE和當我下載我的公用文件夾到我的項目 - 或同步這個 - 我的符號鏈接呢沒有出現在公共文件夾列表中...
這是ls
from my publ IC文件夾:
這是我phpStorm項目視圖後下載公用文件夾在我的主機新副本:
而作爲一張紙條: 我開始在windows開發這個網站,然後我把整個項目移到我的linux r表情服務器...
試過''{asset('public /')。'/'。 $ photo-> url}}'? – linktoahref
@linktoahref是的,但沒有工作......! – Kiyarash
我認爲這可以工作,因爲你試圖獲得路徑使用生成的ID {{storage_path($ photo-> url)}}' – linktoahref