За последние 24 часа нас посетили 54006 программистов и 1720 роботов. Сейчас ищут 993 программиста ...

Загрузка картинок

Тема в разделе "Yii", создана пользователем Dimon2x, 3 мар 2018.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Делаю загрузку, с помощью модуля costaRico/

    Не понимаю, почему выводит непонятный адрес, что такое 1?

    PHP:
    1. echo $model->getImage()->getUrl()
    выводит это

    Код (Text):
    1. /1/images/image-by-item-and-alias?item=Product1&dirtyAlias=4c2bacaab1-1.png
    картинка в базу загружается, алиас подставляется правильный.

    PHP:
    1.       public function upload(){
    2.         if($this->validate()){
    3.             $path = 'upload/store/' . $this->image->baseName . '.' . $this->image->extension;
    4.             $this->image->saveAs($path);
    5.             $this->attachImage($path);
    6.             return true;
    7.         }else{
    8.             return false;
    9.         }
    10.     }
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    так тоже почему-то не открывает изображение

    PHP:
    1.   <img src="<?= Url::base() . '/upload/store/' . $img->filePath ?>" width="100px">
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    А залезть в метод getUrl() не судьба?
    PHP:
    1. public function getUrl($size = false){
    2. $urlSize = ($size) ? '_'.$size : '';
    3. $url = Url::toRoute([
    4. '/'.$this->getPrimaryKey().'/images/image-by-item-and-alias',
    5. 'item' => $this->modelName.$this->itemId,
    6. 'dirtyAlias' => $this->urlAlias.$urlSize.'.'.$this->getExtension()
    7. ]);
    8. return $url;
    9. }
    Ясно же, как божий день. 1 - id твоей модели, к которой крепишь. Изображения он через свой контроллер отдаёт. Я только спьяну не вижу, как он роуты свои регистрирует, но тоже разобраться можно
     
    Dimon2x нравится это.
  4. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @mkramer не понимаю, почему по первому пути изображение не открывает, а остальные 2 открывает?

    PHP:
    1. <?php echo Html::img("@web/upload/store/999.jpg");?>
    2.    
    3.     <?php echo Html::img("@web/images/products/product1.jpg");?>
    4.    
    5.    <?php echo Html::img("@web/images/shop/product7.jpg");?>
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Протрассируй отладчиком это дополнение, и всё. Мне лень. Я его не использовал никогда.
     
  6. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Я добавил

    Код (Text):
    1. RewriteRule ^upload/(.*)$ web/images/$1 [L]

    и заработало