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
