Yii Framework Forum: Wyświetlenie obrazu na stronie zapisanego w bazie - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Wyświetlenie obrazu na stronie zapisanego w bazie Rate Topic: -----

#1 User is offline   robikon 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 17-October 11

Posted 02 February 2012 - 08:43 AM

Witam.
Dodałem funkcjonalność zapisywania obrazków (wg. tego linku) w bazie mysql w polu 'blob' i wszystko gra oprócz tego iż nie mogę wyświetlić ich na stronie w widokach index.php i view.php.
Zwraca mi błąd:

htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument 


C:\WebPages\Pages\tvk-pr\framework1.1.9\web\helpers\CHtml.php(85)

73      */
74     public static $liveEvents = true;
75 
76     /**
77      * Encodes special characters into HTML entities.
78      * The {@link CApplication::charset application charset} will be used for encoding.
79      * @param string $text data to be encoded
80      * @return string the encoded data
81      * @see http://www.php.net/manual/en/function.htmlspecialchars.php
82      */
83     public static function encode($text)
84     {
85         return htmlspecialchars($text,ENT_QUOTES,Yii::app()->charset);
86     }
87 
88     /**
89      * Decodes special HTML entities back to the corresponding characters.
90      * This is the opposite of {@link encode()}.
91      * @param string $text data to be decoded
92      * @return string the decoded data
93      * @see http://www.php.net/manual/en/function.htmlspecialchars-decode.php
94      * @since 1.1.8
95      */
96     public static function decode($text)
97     {


0

#2 User is offline   Mariusz W. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 24
  • Joined: 15-December 11
  • Location:Poland/Warsaw

Posted 02 February 2012 - 09:07 AM

Wg. mnie musisz stworzyć nowa akcje kontrolera (np. actionImage), która zwróci obrazek. Na samym początku akcji zwracasz do przeglądarki nagłówek z odpowiednim content-type (w php funkcja header). następnie drukujesz na ekranie zawartość pola blob. Na końcu możesz dać exit.

Teraz w widoku korzystasz z klasy pomocniczej CHtml i drukujesz obrazek jako adres podając nowo stworzona akcje.

Mam nadzieje ze dobrze cię nakierowalem :)
Posted Image
Posted Image
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users