Я использую этот модуль yii2 для загрузки изображений.
Моя папка для загрузки:
C:\XAMPP\HTDOCS\MYAPPNAME\WEB\UPLOAD
├───cache
├───global
└───store
└───Products
└───Product15
Где store - папка для оригинальных картинок, а кеш - для измененных. yii2-images настроен так:
'yii2images' => [
'class' => 'rico\yii2images\Module',
//be sure, that permissions ok
//if you cant avoid permission errors you have to create "images" folder in web root manually and set 777 permissions
'imagesStorePath' => 'upload/store', //path to origin images
'imagesCachePath' => 'upload/cache', //path to resized copies
'graphicsLibrary' => 'GD', //but really its better to use 'Imagick'
'placeHolderPath' => '@webroot/upload/store/no-image.png', // if you want to get placeholder when image not exists, string will be processed by Yii::getAlias
],
и мой метод загрузки модели продукта:
public function upload()
{
if ($this->validate()) {
$path = 'upload/store/' . $this->image->baseName . '.' . $this->image->extension;
$this->image->saveAs($path);
$this->attachImage($path);
@unlink($path);
return true;
} else {
return false;
}
}
Загрузка изображений работает. Я имею в виду, они физически появляются там, где и должны. Я загружаю изображение
<?php $img = $model->getImage(); ?>
и в моем виджете DetailView вместо 'img':
[
'attribute' => 'image',
'value' => "<img src='{$img->getUrl()}'>",
'format' => 'html',
],
И что я получаю вместо отрендеренного изображения:
image-by-item-and-alias?item=Product15&dirtyAlias=71273544a6-1.jpg
Понятия не имею, где этот "image-by-item-and-aliasitem = Product15 & dirtyAlias?" часть приходит даже тогда, когда она должна выглядеть примерно так:
Products\Product15\71273544a6-1.jpg
и заданный параметр формата html, поэтому он должен отображать изображение.
Можете ли вы указать мне источник этой ошибки?