我有一个使用Laravel创建的博客项目,它在我的localhost上运行正常,我上传了项目并将其转换为在共享主机上工作,这不是我第一次这样做,在上传项目和数据库之后,一切正常,我的意思是在打开博客时,我可以看到我的帖子( WITH PICTURES )和类别以及Voyager CPanel中的所有内容但我无法做到看图像,所以我选择了admin徽标作为示例,在数据库中它包含此名称(settings/January2018/PnrVRpff94865gfxeZ0gt.png
),此图像的Voyager sideBar Blade代码为:
<?php $admin_logo_img = Voyager::setting('admin_icon_image', ''); ?>
@if($admin_logo_img == '')
<img src="{{ voyager_asset('images/logo-icon-light.png') }}" alt="Logo Icon">
@else
<img src="{{ Voyager::image($admin_logo_img) }}" alt="Logo Icon">
@endif
并且chrome上的结果是:
<img src="" alt="Logo Icon">
所以我去了Voyager::image()
函数:
public function image($file, $default = '')
{
if (!empty($file) && Storage::disk(config('voyager.storage.disk'))->exists($file)) {
return Storage::disk(config('voyager.storage.disk'))->url($file);
}
return $default;
}
我做了我的测试,这是这个徽标案例中的结果:
empty($file)
返回假(好)
Storage::disk(config('voyager.storage.disk'))->exists($file)
返回False(错误)
Storage::disk(config('voyager.storage.disk'))->url($file)
返回正确的网址(好)
知道config('voyager.storage.disk')
返回&#34;公众&#34;并且文件系统磁盘配置不受影响。
当您在Voyager::image()
函数中看到问题时,请帮我正确解决此问题。
更新:
我尝试将/ vendor / tcg / voyager / src文件夹中的Voyager :: image()函数更改为:
public function image($file, $default = '')
{
//Bad Solution
return Storage::disk(config('voyager.storage.disk'))->url($file);
}
它运作良好,但是你认为这是一个糟糕的解决方案,我需要一个合适的解决方案,所以请帮忙。