根据他们的说明,我试图通过管理员提取我上传的图片:
{{ Voyager::image( $brand->logo ) }}
而不是获取网址,而是给我一个带有附加JSON项目的网址:
http://job-tool.test/storage/[{"download_link":"brands\/April2018\/3Yrma1PZogiMiYOFmPGg.png","original_name":"logo_petiq.png"}]
PetIQ
仅运行{{ $brand->logo }}
会为我提供没有前置网址的数组。我在这里缺少什么?
我还尝试使用此功能:{{ Voyager::image( $brand->logo->download_link ) }}
但我收到此错误:
Trying to get property 'download_link' of non-object (View: /Users/johnbriggs/Code/Laravel/job-tool/resources/views/brands/show.blade.php)
答案 0 :(得分:0)
尝试怎么样;
{{ Voyager::image( $brand->logo->download_link ) }}
看了voyager包后,Voyager :: image函数是
public function image($file, $default = '')
{
if (!empty($file)) {
return Storage::disk(config('voyager.storage.disk'))->url($file);
}
return $default;
}
你可以试试像
这样的东西<?php
$file = (json_decode($brand->logo))[0]->download_link;
?>
{{ Voyager::image( $file ) }}
虽然我很欣赏这是一种不太干净的方法。
答案 1 :(得分:0)
一年后出现了同样的问题。 Simon R的上述答案对我来说很好。只需在图像标签内回显已解码的json。像这样:
<img src="{{ Voyager::image( $file ) }}">
答案 2 :(得分:0)
试试这个:
{{Voyager::image($article->thumbnail('medium','cover'))}}
这是 Voyager 中封面字段的验证:
{
"resize": {
"width": "728",
"height": null
},
"quality": "80%",
"upsize": true,
"thumbnails": [
{
"name": "medium",
"scale": "50%"
},
{
"name": "small",
"scale": "27%"
}
],
"validation": {
"rule": "required"
}
}