Search Postgresql Archives

Re: Storing jpgs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



What language? Here's a quick example in php that expects a HTML Form that has a input type=file name=userfile:

<?php

// assumes pg_Connect has been called and the connection is $conn

// check to make sure it's an uploaded file
|if (is_uploaded_file(|$_FILES['userfile']['tmp_name']|))
{
// Get Image Information for JPEG Validation
$imgInfo = getimagesize(|$_FILES['userfile']['tmp_name']);
// Make sure it's a JPEG before moving on
if ( $imgInfo[2] == 2 )
{
|// Read the file in to a variable
$fp = fopen(|$_FILES['userfile']['tmp_name']|, "rb");
$textData = base64_encode(fread($fp, filesize(|$_FILES['userfile']['tmp_name'])));
fclose($fp);


/* Insert into into a table called media with the following schema:
filename varchar(30) not null primary key
mimetype varchar(30) not null default 'image/jpeg'
filedata text
*/
pg_Query($conn, "INSERT INTO media VALUES('" . $_FILES['userfile']['name'] . "','image/jpeg', '$textData');
} else {
echo "Uploaded file isn't a valid JPEG.\n";
}
} else {
echo "Invalid file upload.\n";
}
}
|
?> |
And to send it:


<?php
// assumes a GET variable called image (http://yoursite.com/displayImage.php?image=picture.jpg and
// pg_Connect already called with $conn as connection


$result = pg_Query($conn, "SELECT mimetype, filedata FROM media WHERE filename = '" . $_GET['image'] . "';");
if ( pg_NumRows($result) > 0 )
{
$data = pg_Fetch_Object($result, 0);
Header("Content-type: $data->mimetype");
echo base64_decode($data->filedata);
exit();
} else {
echo "404: File Not Found.";
}
?>


Hope this helps, I've not tested it but it should work ok and at best it illustrates the principles.

Gavin


Joe Lester wrote:


Would anyone have some example code they could share using libpq to encode an image into a text field? Right now, I'm converting my image into a hexadecimal string representation in my SQL statement. I'm sure there must be a better (faster) way. The hex encodeing/decoding slows things down for me since my app deals with a lot of images.

On Apr 5, 2004, at 2:03 PM, Gavin M. Roy wrote:

I'm one for using base64 encoded text in a text field. It's easy to deal with queries, it's easy to deal with spitting out images, and it's easy to back up. Others do it differently, there are many ways to skin a cat, and each person who skins cats most likely thinks their way is best.
Gavin


C G wrote:

Dear All,

What's the best way to store jpgs in postgresql to use in a web page?





---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
   (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux