Yii2在DetailView中渲染图像base64

时间:2018-04-06 23:05:12

标签: php yii2 base64

我有一个base64图像,我想在以下dataView中显示它

<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'nome:ntext',
        'img1:ntext', // here is the base64 string that is also accessed by "$ model-> img1"
    ],
]) ?>

我尝试了以下代码,但它无法正常工作

[
    'attribute' => 'img1',
    'value' => base64_decode($model->img1),
    'format' => ['image', ['width' => '100', 'height' => '100']]
],

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

[
    'attribute' => 'img1',
    'value' => 'data:image/png;base64,' . $model->img1,
    'format' => ['image', ['width' => '100', 'height' => '100']]
],

[
    'attribute' => 'img1',
    'value' => 'data:image/jpeg;base64,' . $model->img1,
    'format' => ['image', ['width' => '100', 'height' => '100']]
],

取决于图像类型。

BTW:如果您要在数据库中存储图像,您可能需要阅读Store pictures as files or in the database for a web app?(以及数十个重复项)。由于这种方法,你很可能会遇到很多问题。