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

Reply via email to