Re: Question re large objects

From: "Mitch Vincent" <mitch(at)venux(dot)net>
To: <chriswood(at)wvda(dot)com>, <pgsql-php(at)postgresql(dot)org>
Subject: Re: Question re large objects
Date: 2000-11-28 18:50:17
Message-ID: 00d101c0596c$0d339c00$0200000a@windows
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

> (Hopefully I'm addressing this to the right list... This is my first time
> with BLOBs anywhere.)
>
> I'm working on a web page template system (PHP/PostgreSQL)
> which will (in part, other stuff is done) allow users to upload a gif or
> jpeg via a form on another site. The image will then slot into a
> predetermined place on their template website.
>
> I've considered the alternatives (store files in a directory or in the
> db), and I think storing the image files in the database is the way to
> go. Unless anybody can think of why I should just upload the files
> to a directory on the server instead of storing them as BLOBs.

In 7.0.X there is a limit on the size of tuples, 32k, and some images could
easily be bigger than that (though it depends on your images I guess). 7.1
will be out shortly after the first of the year and will take care of this
though.

Depending on the use of these images, I'd think up a naming scheme and store
them as flat-files and perhaps store the image name or something in the
database... You could still display a link to the images but the link would
have to be to a PHP (or other) script that would grab the image from the
database, set the MIME type and display it to the browser -- you couldn't
have it in an HTML document without first writing it to a flat file (at
least I don't know of a way you could display it in an HTML document) .

> I can upload a binary file just fine, and retrieve it from the database
> just fine. The problem is that the file (using pg_loreadall) just
> plunks itself into my test page as text/plain. How do I get a mime
> type header associated with this data so my browser will recognize
> it as a gif or jpeg? Do I have to export the file to a web-accessible
> directory (owned by web server user, I know) and then use an
> <img> tag? Or is there a way to get my browser to recognize that
> the BLOB is in fact an image when PHP pulls it out of the
> PostgreSQL database?

The MIME type is image/jpeg for jpegs and image/gif for gifs. Use PHP's
header() function.

> Be gentle if I've asked a stupid question... :-)

There are no stupid questions, only stupid answers!

-Mitch

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Mitch Vincent 2000-11-28 19:16:54 Re: Question re large objects
Previous Message chriswood 2000-11-28 18:47:01 Re: Question re large objects