2017-04-15 46 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'中引用他们的绝对地址。 ^^ –