public function actionImage($id, $variant_id) { /** @var Image $image */ $image = Image::find()->where(['id' => $id])->one(); if (isset($image)) { $fn = $image->getFileName($variant_id, false); } else { $fn = $this->iStore->storePath . DIRECTORY_SEPARATOR . $this->getIStore()->getEmptyFileName($variant_id); } if (!file_exists($fn)) { throw new NotFoundHttpException('image not exists'); } $response = Yii::$app->response; $response->format = Response::FORMAT_RAW; return $response->sendFile($fn, null, ['mimeType' => 'image', 'inline' => true]); // if ( !is_resource($response->stream = fopen($fn, 'r')) ) { // throw new \yii\web\ServerErrorHttpException('file access failed: permission deny'); // } // return $response->send(); }
/** * @return \yii\db\ActiveQuery */ public function getImage() { return $this->hasOne(Image::className(), ['id' => 'image_id']); }
/** * @return \yii\db\ActiveQuery */ protected function getImage($field = null) { $field = $this->getImageFieldName($field); return $field === null ? null : $this->owner->hasOne(Image::className(), ['id' => $field]); }
/** * @return \yii\db\ActiveQuery */ public function getImages() { return $this->hasMany(Image::className(), ['id' => 'image_id'])->viaTable('{{%dkh_image_store}}', ['store_id' => 'id']); }