in reply to Re: encode/decode images
in thread encode/decode images

I was hoping to store the image as text to avoid having to bother with any binary data type stuff.

Thanks

Replies are listed 'Best First'.
Re^3: encode/decode images
by samtregar (Abbot) on Feb 25, 2009 at 21:42 UTC
    That's hilarious! You want to store a jpg in your database without "bothering" with "any binary data type stuff". And you're worried about how much space it will take up. Something here just isn't adding up.

    Let's take a step back. Why are you storing images in your database? In my experience this is a bad idea 100% of the time. Instead, store your images on disk and store the path in the database. If you have multiple servers use NFS or even Amazon S3 to store the file. But not your RDBMS - that's not what it's for.

    -sam

Re^3: encode/decode images
by Joost (Canon) on Feb 25, 2009 at 22:25 UTC
    JPEG images ARE just binary streams. You can encode them to various ASCII/text type encodings, but all of those will increase the size of the resulting string/stream/file. You could transform the image to some pure-text image format, like XPM, but for typical JPEGs that will increase the size a lot more than a simple base64-type encoding of the original JPEG data.

    Bottom line: use "raw" binary strings when dealing with inherently binary data, unless you really need some encoding (for instance, when mailing the data or encapsulating it in an XML file).

    update: Postgres does have facilities for dealing with binary data directly. So read the docs for the right module.