Загруженное изображение Yii2 не отображается - PullRequest
0 голосов
/ 16 мая 2019

Я использую этот модуль 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, поэтому он должен отображать изображение.

Можете ли вы указать мне источник этой ошибки?

...