如何在刀片视图中呈现xml svg响应

时间:2019-08-07 12:25:49

标签: php laravel laravel-blade

“我调用一个以xml svg格式返回qrcode的api。我想在刀片视图中显示该qrcode。我与在刀片视图中显示xml svg响应叠在一起。”

我从调用的API的控制器中获取了一个xml svg qrcode,我想在刀片中显示它

在控制器中,这就是我将数据渲染到刀片的方式

return response()
    ->view(
        'qrcode',
        [
            'output' => $output
        ],
        200
    )
    ->header('Content-Type', 'image/svg+xml');

这是我的刀片的外观:

<svg {{$output}}></svg>

我希望在刀片视图上看到一个svg xml qrcode变量($output变量)

2 个答案:

答案 0 :(得分:0)

将输出放置在svg标签之间

<svg>{{ $output }}</svg>

答案 1 :(得分:0)

您需要创建一个Response并将标头附加到该标头,而不是视图。

$response = Response::make(View::make('qrcode', ['output' => $output]), 200);
$response->header('Content-Type', 'image/svg+xml');
return $response;

我还建议您仅在您的视图中添加标题,

<?php header('Content-Type: image/svg+xml'); ?>

{{ $output }} <!-- Try without SVG tags seems as you have XML tags in your $output anyway -->

有关更多信息,请参阅Laravel Docs