2017-02-09 99 views
0

我有本地文件系統的Laravel 5.3。在我.ENV的APP_URL是:Laravel 5.3本地存儲路徑

http://localhost/myapp 

我掛存儲到公共

php artisan storage:link 

我有一個形象:

myapp/storage/app/public/defaults/test/file.png 

在數據庫的路徑保存這樣:

public/defaults/test/file.png 

所以在我的刀片.PHP我嘗試訪問圖像

<img src="{{ Storage::url($user->test)}}" width="" alt=""> 

但圖像沒有顯示和圖像的URL是:

http://localhost/storage/defaults/test/file.png 

所以爲什麼它忽略了APP_URL?即使我改變了這個鏈接:

http://localhost/myapp/storage/defaults/test/file.png 

圖像沒有顯示出來。

如何使用Storage :: url訪問myapp/storage/app/public/defaults/test/file.png中的圖像?

BR

回答

2

試試這個:

1)火php artisan storage:link命令,如果您還沒有

2)在數據庫中,相對於根/公共目錄存儲路徑前綴存儲

所以,如果你有根/公/默認/測試/ file.png圖像,然後在數據庫中,存儲路徑:存儲/默認/測試/ file.png

3),最後在查看,顯示如下:

<img src="{{ asset($user->test)}}" width="" alt=""> 

確保$ user-> test具有存儲/默認值/測試/文件的值。PNG

OR

3)如果你不想前綴存儲存儲到數據庫中,然後存儲路徑,如:

默認/測試/ file.png

並在視圖中:

<img src="{{ asset('storage/' . $user->test)}}" width="" alt=""> 

注意: 經過Laravel 5.4測試,但很確定它也能用於Laravel 5.3。


這裏是我創建了一個完整的演示這說明圖像上傳和顯示:

https://github.com/xparthx/laravel5.4-image-upload

+0

我鏈式存儲在我的數據庫是:存儲/默認/測試/ file.png 物理文件在這裏:root/storage/app/public/defaults/test/file.png並且我顯示像' blubbering

+0

嘗試上傳是這樣的: 'image'=> $ r-> image-> store('defaults/test') –

+1

@blubbering,這裏是我創建的一個完整的演示,它演示了圖像上傳和顯示:https: //github.com/xparthx/laravel5.4-image-upload –

0

如果您要訪問的文件在您的存儲文件夾,你需要爲鏈接

Route::get('storage/defaults/test/{filename}', function ($filename) 
{ 
    $imagePath = storage_path() . '/defaults/test/' . $filename; 

    if(!File::exists($imagePath)) { 
     //Not have file do something here 
    }; 

    $file = File::get($imagePath); 
    $type = File::mimeType($path); 

    $response = Response::make($file, 200); 
    $response->header("Content-Type", $type); 

    return $response; 
}); 

創建路線現在你可以通過你的鏈接訪問

你有另一種方式,例如作爲保持你的形象在[你的項目]/public/images /這樣你可以通過http://localhost/images/file.png訪問你的圖片(不需要創建路線)

Bu T I建議你在你的服務器實例/數據/圖像 創建一個新的文件夾並將其在Apache虛擬主機設置允許路徑

Alias /images /var/www/data/images 

<Directory /var/www/data/images> 
    IndexOptions FancyIndexing FoldersFirst 
    Options MultiViews Indexes 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 

希望這有助於