Yii2 显示来自 blob 数据库字段的图像
Yii2 show image from blob database field
我需要在 div.
中显示存储在数据库 blob 字段中的图像
有我的控制器
public function actionQuartos($id)
{
$model = new Quarto();
$quartos = $model::findAll(['hotelId' => $id]);
return $this->render('quartosDisponiveis', ['quartos'=> $quartos]);
}
还有模型
class Quarto extends \yii\db\ActiveRecord
{
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'quarto';
}
/**
* {@inheritdoc}
*/
public function rules()
{
return [
[['descricao', 'precoNoite', 'estado', 'hotelId'], 'required'],
[['precoNoite'], 'number'],
[['estado', 'img'], 'string'],
[['hotelId'], 'integer'],
[['descricao'], 'string', 'max' => 150],
[['hotelId'], 'exist', 'skipOnError' => true, 'targetClass' => Hotel::className(), 'targetAttribute' => ['hotelId' => 'id']],
];
}
public function attributeLabels()
{
return [
'id' => 'ID',
'descricao' => 'Descricao',
'precoNoite' => 'Preco Noite',
'estado' => 'Estado',
'img' => 'Img',
'hotelId' => 'Hotel ID',
];
}
我的观点
<?php
/* @var $this yii\web\View */
$this->title = 'TOPHotels';
?>
<?php
foreach ($quartos as $dado){
?>
<div id="modal">
<div class="content">
<img src="../../assets/hotel1.jpg" width="100px">
<div>
<h3><strong><?php echo $dado->descricao?></strong> </h3>
<p><strong>Preço por noite: </strong><?php echo $dado->precoNoite?> </p>
<p><strong>Comodidades do quarto: </strong></p>
<ul class="a">
<?php
foreach ($dado->comodidadesQuartos as $comodidade){
?>
<li><?php echo $comodidade->descricao?></li>
<?php
}
?>
</ul>
</div>
<input type="button" class="buttonHotel" value="Ver HOTEL"/>
</div>
</div>
<?php
}
?>
我想在我的视图中显示我手动上传的图片。我无法弄清楚我必须在我的视图或控制器上放置什么类型的代码,如果有人知道请告诉我。
我需要在 div 元素内的视图中显示存储在数据库中的每个 blob 图像。
你可以使用这个:
<?= Html::img('data:image/jpeg;base64,'.base64_encode($dado->img), ['alt' => 'My image']) ?>
您还必须检查您的 MIME 类型
image/jpeg for .jpg and .jpeg files
image/png for .png files
image/gif for .gif files
我需要在 div.
中显示存储在数据库 blob 字段中的图像有我的控制器
public function actionQuartos($id)
{
$model = new Quarto();
$quartos = $model::findAll(['hotelId' => $id]);
return $this->render('quartosDisponiveis', ['quartos'=> $quartos]);
}
还有模型
class Quarto extends \yii\db\ActiveRecord
{
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'quarto';
}
/**
* {@inheritdoc}
*/
public function rules()
{
return [
[['descricao', 'precoNoite', 'estado', 'hotelId'], 'required'],
[['precoNoite'], 'number'],
[['estado', 'img'], 'string'],
[['hotelId'], 'integer'],
[['descricao'], 'string', 'max' => 150],
[['hotelId'], 'exist', 'skipOnError' => true, 'targetClass' => Hotel::className(), 'targetAttribute' => ['hotelId' => 'id']],
];
}
public function attributeLabels()
{
return [
'id' => 'ID',
'descricao' => 'Descricao',
'precoNoite' => 'Preco Noite',
'estado' => 'Estado',
'img' => 'Img',
'hotelId' => 'Hotel ID',
];
}
我的观点
<?php
/* @var $this yii\web\View */
$this->title = 'TOPHotels';
?>
<?php
foreach ($quartos as $dado){
?>
<div id="modal">
<div class="content">
<img src="../../assets/hotel1.jpg" width="100px">
<div>
<h3><strong><?php echo $dado->descricao?></strong> </h3>
<p><strong>Preço por noite: </strong><?php echo $dado->precoNoite?> </p>
<p><strong>Comodidades do quarto: </strong></p>
<ul class="a">
<?php
foreach ($dado->comodidadesQuartos as $comodidade){
?>
<li><?php echo $comodidade->descricao?></li>
<?php
}
?>
</ul>
</div>
<input type="button" class="buttonHotel" value="Ver HOTEL"/>
</div>
</div>
<?php
}
?>
我想在我的视图中显示我手动上传的图片。我无法弄清楚我必须在我的视图或控制器上放置什么类型的代码,如果有人知道请告诉我。
我需要在 div 元素内的视图中显示存储在数据库中的每个 blob 图像。
你可以使用这个:
<?= Html::img('data:image/jpeg;base64,'.base64_encode($dado->img), ['alt' => 'My image']) ?>
您还必须检查您的 MIME 类型
image/jpeg for .jpg and .jpeg files
image/png for .png files
image/gif for .gif files