使用 yii2 在控制器中显示加载的视图图像
Display in view image loaded in controller with yii2
我正在尝试在视图中显示控制器中加载的图像(无法直接从视图中使用图像文件夹)。
我可以在控制器中正确加载图像,但我没有找到正确的方式来提供视图。
我试图利用 Yii::$app->response 解决方案,但它似乎对下载图像很有用,而不是在视图页面中显示它。
控制器代码(部分)
public function actionView($id)
{
$imgFullPath = '/app/myfiles/img/65/img.jpg';
return $this->render('view', [
'model' => $this->findModel($id),
'imgModel' => Yii::$app->response->sendFile($imgFullPath),
]);
}
我需要的是一种将图像存储在 imgModel
变量中然后在视图中显示它的方法
当然也欢迎其他方式
有人可以给我建议吗?
你可以用这个代码给你看图片:
<?= Html::img('@web/app/myfiles/img/65/img.jpg', ['alt' => 'My image']) ?>
检查此 - https://www.yiiframework.com/doc/guide/2.0/en/helper-html“图像”部分
如果您的图片不在 Web 文件夹中 - 删除它或尝试其他方式:
在您的控制器中:
$imgFullPath = '/app/myfiles/img/65/img.jpg';
$imgContentBase64 = base64_encode(file_get_contents($imgFullPath));
在您看来:
<?= Html::img('data:image/jpeg;base64,'.$imgContentBase64 , ['alt' => 'My image']) ?>
您还必须检查您的 MIME 类型
image/jpeg for .jpg and .jpeg files
image/png for .png files
image/gif fir .gif files
我正在尝试在视图中显示控制器中加载的图像(无法直接从视图中使用图像文件夹)。 我可以在控制器中正确加载图像,但我没有找到正确的方式来提供视图。
我试图利用 Yii::$app->response 解决方案,但它似乎对下载图像很有用,而不是在视图页面中显示它。
控制器代码(部分)
public function actionView($id)
{
$imgFullPath = '/app/myfiles/img/65/img.jpg';
return $this->render('view', [
'model' => $this->findModel($id),
'imgModel' => Yii::$app->response->sendFile($imgFullPath),
]);
}
我需要的是一种将图像存储在 imgModel
变量中然后在视图中显示它的方法
当然也欢迎其他方式
有人可以给我建议吗?
你可以用这个代码给你看图片:
<?= Html::img('@web/app/myfiles/img/65/img.jpg', ['alt' => 'My image']) ?>
检查此 - https://www.yiiframework.com/doc/guide/2.0/en/helper-html“图像”部分
如果您的图片不在 Web 文件夹中 - 删除它或尝试其他方式:
在您的控制器中:
$imgFullPath = '/app/myfiles/img/65/img.jpg';
$imgContentBase64 = base64_encode(file_get_contents($imgFullPath));
在您看来:
<?= Html::img('data:image/jpeg;base64,'.$imgContentBase64 , ['alt' => 'My image']) ?>
您还必须检查您的 MIME 类型
image/jpeg for .jpg and .jpeg files
image/png for .png files
image/gif fir .gif files