2016-09-28 94 views
1

我正在編寫一個系統來上傳和顯示一些圖像,但是我對上傳後訪問它們的正確方法感到困惑。無法訪問Laravel存儲

public function storeImage(Request $request) 
{ 

    $request->file('image')->store('public/images'); 

    $filename = md5_file($request->file('image')) . '.' . $request->file('image')->extension(); 
    $img = new Image; 
    $img->path = 'storage/images/'.$filename; 
    $img->save(); 

    return back(); 
} 

這工作得很好,我已經符號鏈接storage的建議,但是如果我使用$filename變量從數據庫中,我收到了404什麼是正確的路徑,產生在這裏插入作爲內嵌圖片src屬性?

圖像標記看起來像這樣: <img src="storage/images/89cdd31f2e0eeacceff96c2a0abb252f.jpeg"> 該文件夾是絕對符號鏈接的,因爲我可以在finder中關注它。

+0

該文件夾是符號鏈接的,但在那裏的圖像? – ceejayoz

+0

圖像有 – userqwert

+1

嘗試添加一個/之前存儲?否則,它會嘗試加載相對於網頁的文件夾,而不是從網站根目錄中加載。 – aynber

回答

2

固定這一點。

php artisan storage:link不適用於宅基地。相反,刪除文件夾,使用homestead sshln -s ~/projects/my-website/storage/app/public/ ~/projects/my-website/public/storage在機器上手動重新創建它們。

1

您使用的是最新版本的laravel 5.3嗎?

如果是這樣,您是否嘗試過使用URL method from the Storage facade來獲取圖像的src URL?

實施例:

use Illuminate\Support\Facades\Storage;

$url = Storage::url('file1.jpg'); //acquire URL

+0

是的,這也不起作用,並提供'/ storage/89cdd31f2e0eeacceff96c2a0abb252f.jpeg'作爲路徑。 – userqwert