2017-04-15 74 views
0

因此,在我的public文件夾中,有一個名爲images的子閃爍器,其中包含一對基本圖像。 我想要做的是使用laravel的Storage類來處理我未來的圖像(它們會變得很多,並且需要很多功能,所以我希望以平滑的方式進行)。 問題:我在我的config/filesystems.php創建自定義磁盤方式如下:public_path()在配置laravel中的新磁盤時也返回存儲文件夾5.3

'disks' => [ 

    //... 
    'img_disk' => [ 
     'driver' => 'local', 
     'root' => public_path(), 
    ], 

    //... 

但是,當我嘗試訪問我的照片(與打算把它的URL作爲源到我的IMG HTML項目),按以下方式:

<?php 
    echo Storage::disk('img_disk')->url('window.png'); 
?> 

它返回/storage/window.png ... 我只需要對我的圖像來源的簡單管理。現在我在本地工作,但是當我更新到我的實際在線服務器時,它也必須工作。 例如,如果我只是簡單地放入<img src="images/window.png">,我的文件夾中的圖片就不會出現問題。我希望保持它像以後一樣簡單,並將我的圖片存儲在同一個images文件夾中的子目錄中,以便我可以使用Storage課程隨處使用它們。 還是我接近完全錯誤?我錯過了什麼或混合了什麼?任何建議都會被高度評價!

回答

1

你缺少設置圖像目錄:

你將它設置在文件系統中的配置文件,或當你想打電話給你的存儲對象

所以,你的文件系統文件需要如下改變:

'root' => public_path('images'), 

或者乾脆當你想給你打電話圖片:

echo Storage::disk('img_disk')->get('images/window.png'); 
//        ^^^ 

公告稱,根元素中獲取圖像使用,

使用URL功能,您將需要提供url元素添加到文件系統的配置文件如下:

'disks' => [ 

    //... 
    'img_disk' => [ 
     'driver' => 'local', 
     'root' => public_path('images'), 
     'url' => public_path('images'), // HERE 
    ], 

    //... 

現在你可以使用url方法很簡單:

echo Storage::disk('img_disk')->url('window.png'); 
+0

我明白了,非常感謝!該目錄現在得到正確返回。但是現在還有一個不相關的問題 - 鉻不允許我通過

+0

歡迎您,瀏覽器不允許您訪問本地調用的文件,例如使用像C:\\ image.jpeg這樣的路徑調用文件,您需要定義絕對路徑,例如:http://example.com/image.jpeg' – hassan

+0

我知道,我只是上傳了我的文件到整個項目上傳到服務器上的文件。現在,在'filesystems.php'中引用他們的絕對地址。 ^^ –