繁体   English   中英

Yii2:如何使用数据库中保存的图像路径在View中显示图像?

[英]Yii2: How to display Image in View using image path saved in database?

尝试在视图中显示图像:

id_imageid_image保存图像路径。通过使用路径需要显示图像。 尝试使用以下代码,但未显示任何图像。

<div class="row">
  <div class="col-xs-6 col-md-3">
    <a href="#" class="thumbnail">
      <img src="<?php $dataProvider->models[0]->id_image; ?>">
    </a>
  </div>

视图:

public function actionView($id)
    {
         $searchModel = new CreateBookingsSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        return $this->render('view', [
            'model' => $this->findModel($id),
            'dataProvider' => $dataProvider,
            'searchModel' => $searchModel,
        ]);
    }

在控制器中创建/上传文件

public function actionCreate()
    {
        $model = new CreateBookings();

        if ($model->load(Yii::$app->request->post()))
        {
            $imageName = $model->first_name;
            $mobile = $model->primary_mobile;
            $model->file = UploadedFile::getInstance($model, 'file');
            $model->file->saveAs( 'uploads/id_images/'.$imageName.'_'.$mobile.'.'.$model->file->extension);
            //save the path in the db column
            $model->id_image = 'uploads/id_images/'.$imageName.'_'.$mobile.'.'.$model->file->extension;

            $model->save();
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }

路径示例保存在数据库中:

uploads/id_images/kumar_9015879992.jpg

您必须将基本网址添加到图片路径。请使用以下网址。

  <img src="<?php echo Yii::getAlias('@web').'/'.$dataProvider->models[0]->id_image; ?>">

您想使用first_name名称,然后再将其保存到数据库中,请尝试

if ($model->load(Yii::$app->request->post()))
{
    $model->save();

    //then use first_name on your image like you did.

    $model->save();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM