在刀片视图中显示路线的结果(Laravel)

Posted

技术标签:

【中文标题】在刀片视图中显示路线的结果(Laravel)【英文标题】:Show the result of a route in blade view (Laravel) 【发布时间】:2017-03-12 08:47:24 【问题描述】:

我有一个返回图像的路由,我希望在刀片视图中显示此路由的结果,有没有办法直接在刀片视图中直接调用控制器操作或此路由的结果?

提前致谢。

【问题讨论】:

【参考方案1】:

如果是图片,为什么不使用img 标签?

<img src=" route('my.image') " alt="My Image">

【讨论】:

不,该操作不返回图像的 url,它返回它自己的图像(使用库 Intervention Image)。这是一个例子: public function image() return $img = Image::make('image.jpg') ->resize(800, 500) ->insert('sub_image.jpg', 'bottom-对', 10, 10) ->响应(); 为这个有用的解释想了很多...问题解决了:)【参考方案2】:

您可以通过将<img> 标记的 src 属性中的 URL 指定为:

<img src=" route('image.url') ">

【讨论】:

不,该操作不返回图像的 url,它返回它自己的图像(使用库 Intervention Image)。 public function image() return $img = Image::make('image.jpg') ->resize(800, 500) ->insert('sub_image.jpg', 'bottom-对', 10, 10) ->响应(); 当您在网络浏览器中打开该路线时,它会显示图像吗? 是的,它完美地显示了图像(带有我想要的修改)。 以上的解决方法你试过了吗?你的路线本身就是一个图像,所以我认为它应该可以工作。【参考方案3】:

您宁愿不想在刀片中返回图像。您应该创建单独的控制器操作,它将返回此图像并将图像 src 链接到此路由,例如在控制器中:

public function image()
 
    return $img = Image::make('image.jpg')->resize(800, 500)
    ->insert('sub_image.jpg', 'bottom-right', 10, 10) ->response(); 

然后你创建到这个控制器动作的路由:

Route::get('my-image', 'MyController@image')->name('get-my-image');

然后在您的 Blade 视图中,您应该将图像 src 链接到此操作:

<img src=" route('get-my-image') ">

【讨论】:

为这个有用的解释想了很多...问题解决了:)

以上是关于在刀片视图中显示路线的结果(Laravel)的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 模板显示路线中的两个刀片模板

Laravel 刀片模板不使用 slug 渲染

laravel 刀片 - 如何隐藏特定路线的 html 元素的显示

Laravel 刀片视图不工作,没有刀片工作

在刀片中显示 laravel DB::select 数组

Laravel 8:在刀片视图上过滤/显示数据,数组保存在数据库中