Re: Getting image from a DB

From: Félix Sánchez Rodríguez <fesanch(at)ciego(dot)cult(dot)cu>
To: <pgsql-admin(at)postgresql(dot)org>
Cc: "Andy Shellam" <andy-lists(at)networkmail(dot)eu>
Subject: Re: Getting image from a DB
Date: 2009-05-08 21:11:03
Message-ID: 002201c9d021$d186a450$3000a8c0@atenea
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Well, using pg_unescape_bytea I was able to get the image. How can I stream
it directly to the users's browser??

----- Original Message -----
From: "Andy Shellam" <andy-lists(at)networkmail(dot)eu>
To: "Félix Sánchez Rodríguez" <fesanch(at)ciego(dot)cult(dot)cu>
Cc: <pgsql-admin(at)postgresql(dot)org>
Sent: Friday, May 08, 2009 8:26 AM
Subject: Re: [ADMIN] Getting image from a DB

> Hi Felix,
>
> I've not written an image specifically, but I have read/written byte data
> which is all an image is.
>
> Your PostgreSQL database column that holds the image should be of type
> "bytea." Your PHP application must then use the following functions:
>
> Writing to the database - http://uk2.php.net/pg_escape_bytea
> Reading from the database -
> http://uk2.php.net/manual/en/function.pg-unescape-bytea.php
>
> Once you have unescaped the bytea data, you should then have your valid
> set of bytes (your image) which you can either write to a temporary file
> or stream directly to the user's browser from your application.
>
> Regards,
> Andy
>
> Félix Sánchez Rodríguez wrote:
>> Hi:
>> Has anybody here had to capture an image from a PostgreSQL Data Base
>> using PHP?? I used a simple query: select photo from people where id = 3,
>> for instance. The problem is that when I write the image to disk it's not
>> a valid image. I opened it using an HEX editor and saw that the question
>> is that for each "strange" character, like ÿ, it writes, for instance,
>> \377, it is, the "\" symbol plus the character's numeric code. I guessed
>> that there were some function for this situation but I couldn't find it.
>> If you can't help me, I'll have to parse the whole image contents, with
>> the subsequent performance impact.
>> PD: The image field is of type bytea,as you recommend me.
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Chris Browne 2009-05-08 22:27:10 Re: How to run PostgreSQL?
Previous Message Kasia Tuszynska 2009-05-08 20:25:06 testing 8.4