I am actually getting struck ar $photo_id do we have to send the value if ID from the database to VIEW ?
On Wed, Jan 19, 2011 at 11:37 PM, Karthikeyan P <[email protected]>wrote: > thanks all...seems like almost there ... > but what is *$photo_id* in the VIEW > > > Thanks > > On Wed, Jan 19, 2011 at 9:24 PM, CrotchFrog <[email protected]> wrote: > >> I'm not sure if this will help you but it's how I display BLOB type >> images. >> >> Like Ryan said, you'll have a separate action in your controller >> specifically for displaying your photo. >> >> // PHOTOS CONTROLLER >> >> function displayPhoto() >> { >> $this->set('photo', $this->Photo->find('first', >> array('conditions' => array($conditions)))); >> } >> >> // display_photo.ctp >> >> if(!empty($photo)) >> { >> Configure::write('debug', 0); >> header('Content-type:'.$photo['Photo']['type']); >> header('Content-length: '.$photo['Photo']['length']); >> echo $photo['Photo']['file']; >> } >> >> // Now to display your photo in your views >> >> $html->tag('img', null, array( >> 'src' => Router::url(array( >> 'controller' >> => 'photos', >> 'action' => >> 'displayPhoto/'. >> $photo_id >> ) >> ), >> 'style' => '' >> ) >> ); >> >> I hope that helps you out some, it may not be pretty but it's mine and >> it works :) >> You can nest the image tag inside of $html->link() to point to your >> download function. >> >> - Ed >> >> On Jan 19, 9:09 am, euromark <[email protected]> wrote: >> > put this in your app helper: >> > >> > /** >> > * display image tag from blob content >> > * enhancement for HtmlHelper >> > * 2010-11-22 ms >> > */ >> > function imageFromBlob($text, $options = array()) { >> > //<img alt="" src="data:image/png;base64,' . >> $this->_getBase64() . >> > '" /><br/> >> > >> > $text = 'data:image/png;base64,' . base64_encode($text); >> > $image = sprintf($this->tags['image'], $text, >> $this->_parseAttributes($options, null, '', ' ')); >> > >> > return $image; >> > } >> > >> > $this->Html->imageFromBlob($blob); >> > >> > On 19 Jan., 06:22, Ryan Schmidt <[email protected]> wrote: >> > >> > >> > >> > >> > >> > >> > >> > > On Jan 18, 2011, at 23:04, pinastro wrote: >> > >> > > > exactly , I am reading about Downloading the image .. >> > >> > > > and somehow I am able to display the image too...but it's RAW image >> > > > CONTROLLER ::: >> > >> > > > function download($id) { >> > > > Configure::write('debug', 0); >> > > > $file = $this->MyFile->findById($id); >> > > > $type= $file['MyFile']['type']; >> > > > $length = $file['MyFile']['size']; >> > > > $nam = $file['MyFile']['name']; >> > >> > > > header('Content-type: $type'); >> > > > header('Content-length: $length'); // some people >> reported problems >> > > > with this line (see the comments), commenting out this line helped >> in >> > > > those cases >> > > > header('Content-Disposition: attachment; filename=$nam'); >> > > > echo $file['MyFile']['data']; ///WHEN I COMMENT THIS >> LINE .... >> > > > ONLY FILE LOCATION (database) is PRINTED >> > >> > > > //$this->set(compact('file','nam')); >> > > > exit(); >> > > > } >> > >> > > > VIEW >> > >> > > > <?php >> > > > echo "DISPLAY PINASTRO"; >> > > > header("Content-type: image/jpg"); >> > > > echo print_r((explode("/",$data['MyFile']['data']))); //THIS WAS >> FOR >> > > > TESTING PURPOSE THOUGH >> > > > ?> >> > >> > > > not getting how will i use <IMG> tag ??? >> > >> > > Read what I wrote again. You'll have two actions in your controller. >> One, this download action you've shown us, does nothing other than send the >> PNG to the browser. The second one will show a normal CakePHP ctp view file, >> and in that view, you'll create an img tag, just as you would to display any >> other static image, except that its src (I think I wrote href before but I >> meant src) will point not to a static file on disk but to the URL of your >> download action (i.e. "$this->link(array('action' => 'download', ...))"). >> > >> > > Try getting the download action working first, so that when you call >> it up in the browser, it displays the image by itself. If it's not working, >> maybe read about media views, which handle a lot of this header business for >> you. >> >> -- >> Our newest site for the community: CakePHP Video Tutorials >> http://tv.cakephp.org >> Check out the new CakePHP Questions site http://ask.cakephp.org and help >> others with their CakePHP related questions. >> >> >> To unsubscribe from this group, send email to >> [email protected]<cake-php%[email protected]>For >> more options, visit this group at >> http://groups.google.com/group/cake-php >> > > -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
