Un ejemplo (no se enojen, a pesar de que es php, hay mucho de Postgres aquí)
*edit_profilepicture.php*
<?php
//....
//....
    $arc = $_FILES["pos_foto"]["tmp_name"];
    $size = $_FILES["pos_foto"]["size"];
    $sizemb = round(($size / 1024) / 1024 , 2);
    $tipo = $_FILES["pos_foto"]["type"];
    $nombre = basename($_FILES["pos_foto"]["name"]);
   if ((exif_imagetype($arc) != IMAGETYPE_JPEG) or ($sizemb > 1) ) {
//No guardar
    }else{
        $fp = fopen($arc, "rb");
        $contenido = fread($fp,$size);
        fclose($fp);
        if (!$contenido){
//No se pudo leer el archivo
        } else {
            $escaped = bin2hex( $contenido );
            $query = "UPDATE tabla SET foto = decode('{$escaped}' , 'hex')
WHERE id=$id";
            $conn = Db::getInstance();
            $result = pg_query($conn, $query);
            if (!$result) {
//Error al grabar
            }
            else {
                if (pg_affected_rows($result) == 0){
//No se guardó nada
                }
                else {
//Guardado
                }
            }
            pg_free_result($result);
        }
    }
}
?>
<html>
....
....
<form id="form_foto" action="edit_picture.php" method="post"
enctype="multipart/form-data">
<fieldset>
<p><label for='pos_foto'>Fotografía (jpg)</label><input name="pos_foto"
id="pos_foto" type="file" size="30"/><span></span></p>
<p>
Sugerencia: Prepará una imágen jpg de 100 x 100 pixeles<br>
De esta manera obtendrás una foto con buena resolución en tu perfil.
</p>
<button id="btnIngreso" class='ui-button-primary'
type="submit">Guardar</button>
</fieldset>
</form>
....
....
</html>

*menu_foto.php*
<div>
    <br>
    <p style="text-align:center;"><a href="edit_profilepicture.php"
style="text-decoration: none;">
        <img src="*show_foto.php*" title="Hacé clic para modificar"
alt="Foto del perfil" height="100" width="100" style="-moz-box-shadow: 0 0
5px #333;
-webkit-box-shadow: 0 0 5px #333;
box-shadow: 0 0 5px #333;"/>
    </a></p>
    <br>
</div>

*show_foto.php*
<?php
//Guillermo Villanueva
//Mod: 11/06/2012 19:00
session_start();
include_once("classconexion.php");
include_once("fnforms.php");
$conn = Db::getInstance();
$sql = "SELECT coalesce(encode(foto, 'base64'),'sf') AS foto FROM tabla
WHERE id=$id";
$result = pg_query($conn, $sql);
header("Content-Type: image/jpeg");
if (!$result) {
    //error sin foto
}else{
    $imagen = pg_fetch_result($result,0,0);
    if ($imagen=='sf'){
        $imagen = file_get_contents('image/sinimagen.jpg');
        echo $imagen;
    }else{
        $imagen = pg_fetch_result($result,0,0);
        echo base64_decode($imagen);
    }
}
pg_free_result($result);
?>




Guillermo Villanueva
<http://ar.linkedin.com/in/guillermovillanueva>

El 4 de mayo de 2015, 14:05, Romero, Fernando <
fernando.rom...@lineamitre.gob.ar> escribió:

> Guillermo como estas, podes pasarme el código.
> Estuve tratando de guardar pdf con php en la base sin resultados.
>
> Saludos
>
> De: pgsql-es-ayuda-ow...@postgresql.org [mailto:
> pgsql-es-ayuda-ow...@postgresql.org] En nombre de Guillermo E. Villanueva
> Enviado el: lunes, 04 de mayo de 2015 01:40 p.m.
> Para: Martín Díaz
> CC: Patty; Postgres Ayuda
> Asunto: Re: [pgsql-es-ayuda] Almacenamiento archivos multimedia en la nube
>
> Martín si optás por el lado de almacenar en la misma DB puedo pasarte mi
> código (postgresql + php) pero si vas para la otra opción, creo que será
> cuestión de guardar las URL nada mas (y leer bien las condiciones del
> servicio que utilices, no vaya a ser que cambien las URL o tengan alguna
> limitación).
>
>
> Guillermo Villanueva
>
>
> El 4 de mayo de 2015, 12:57, Martín Díaz <mardia...@yahoo.com.ar>
> escribió:
> Ante todo, gracias por el consejo.
>
> Si tuve en cuenta ese tema, pero lo contrasté con las ventajas en cuanto a
> capacidad de almacenamiento y de ancho de banda para consultas concurrentes
> (es una aplicación web) que ofrecen los sitios dedicados a estos fines.
> Pero estoy analizando pro y contras de cada caso.
>
> Saludos
>
>
> El Lunes, 4 de mayo, 2015 12:42:22, Patty <ptl...@yahoo.com> escribió:
>
> He trabajado con imágenes lo mejor es tenerlas en la base de datos pues
> los que tu mencionas son públicos y cualquiera puede ver la información.
>
> Para que lo tomes en cuenta.
>
>
> Enviado desde Samsung Mobile
>
>
> -------- Mensaje original --------
> De: Martín Díaz
> Fecha:04/05/2015 9:23 AM (GMT-06:00)
> A: Postgres Ayuda
> Asunto: [pgsql-es-ayuda] Almacenamiento archivos multimedia en la nube
>
> Estimados.
>
> Estoy viendo la implmentación de un sistema que acceda a imágenes y videos.
> Estuve evaluando la posibilidad de almacenarlos en la base de datos, pero
> me parece más útil emplear servicios como Youtube y Flikr y dejar en las
> bases (servidores que deben trabajar con replicación) simplemente los links.
>
> Alguien tiene experiencia en algo así, como para darme un par de
> recomendaciones?
>
> Muchas gracias
>
> Saludos...md
>
>
>

Responder a