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 > > >