User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 17

Tema: Como guardar una imagen BLOB generada en JS???

  1. #1

    Fecha de ingreso
    Nov 2004
    Mensajes
    1,781
    Mencionado
    15 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    10
    Agradecer Thanks Received 
    60
    Thanked in
    Agradecido 41 veces en [ARG:2 UNDEFINED] posts

    Unhappy Como guardar una imagen BLOB generada en JS???

    El tema es que genero una imagen blob de este tipo:
    blob:http://..../c9c56b36-6f29-4a8b-ad4d-94a58d512200

    Bien, al intentar descargarla del navegador ya me la ofrece con extensión jpg.

    El tema es que necesito guardarlas en el servidor y no se como **** lo puedo hacer.

    La imagen la genero después de una captura de pantalla e incrusto el link en la página con javascript, pero a la hora de guardarlo en el servidor no tengo ni idea de como hacerlo.

    Necesito ayuda!!!!! Help!!!!!

    El miedo mata la mente.. yo afrontaré mi miedo..
    _________________________________________

  2. #2

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,651
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,993
    Agradecer Thanks Received 
    5,821
    Thanked in
    Agradecido 3,794 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1

  3. #3

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por anakinmay Ver mensaje
    El tema es que genero una imagen blob de este tipo:
    blob:http://..../c9c56b36-6f29-4a8b-ad4d-94a58d512200

    Bien, al intentar descargarla del navegador ya me la ofrece con extensión jpg.

    El tema es que necesito guardarlas en el servidor y no se como **** lo puedo hacer.

    La imagen la genero después de una captura de pantalla e incrusto el link en la página con javascript, pero a la hora de guardarlo en el servidor no tengo ni idea de como hacerlo.

    Necesito ayuda!!!!! Help!!!!!

    Si has generado el blob posiblemente puedas generar una imagen a partir de el, y mediante una llamada post enviarla al servidor.

    Incluso es posible que puedas enviar el array de bytes como blob y guardarlo como imagen en el servidor sin mas

    http://www.w3schools.com/php/php_file_upload.asp

    Super guarramente
    http://stackoverflow.com/questions/1...-upload-a-blob

    Obviamente tu servidor php requiere que generes un endpoint para los form, de forma que puedas hacer la subdia
    Última edición por otto_xd; 28/12/2016 a las 12:52

  4. #4

    Fecha de ingreso
    Nov 2004
    Mensajes
    1,781
    Mencionado
    15 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    10
    Agradecer Thanks Received 
    60
    Thanked in
    Agradecido 41 veces en [ARG:2 UNDEFINED] posts
    Estoy usando el servidor del instituto y no se yo como estará.

    Ni si quier a me deja usar imagegrabscreen() ; me da error:

    Fatal error: Call to undefined function imagegrabscreen()

    Igual intento guardar las imagenes en la base de datos, espero que no me de problemas. Lo veis factible?? Será más fácil??
    El miedo mata la mente.. yo afrontaré mi miedo..
    _________________________________________

  5. #5

    Fecha de ingreso
    Nov 2004
    Mensajes
    1,781
    Mencionado
    15 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    10
    Agradecer Thanks Received 
    60
    Thanked in
    Agradecido 41 veces en [ARG:2 UNDEFINED] posts
    La consola me lanza esto al conectar con el servidor:

    test.jpg<br />
    <b>Warning</b>: fopen(test.jpg): failed to open stream: Permission denied in <b>/hosting/distancia/2016/rvaldivieso/www/php/conexion/guardarImagen.php</b> on line <b>11</b><br />
    <br />
    <b>Warning</b>: fwrite() expects parameter 1 to be resource, boolean given in <b>/hosting/distancia/2016/rvaldivieso/www/php/conexion/guardarImagen.php</b> on line <b>12</b><br />
    <br />
    <b>Warning</b>: fclose() expects parameter 1 to be resource, boolean given in <b>/hosting/distancia/2016/rvaldivieso/www/php/conexion/guardarImagen.php</b> on line <b>13</b><br />

    Supongo que estará capado o lago para subir archivos??
    El miedo mata la mente.. yo afrontaré mi miedo..
    _________________________________________

  6. #6

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Supongo que tienes que tener permisos de escritura para poder almacenar las imagenes.

    Sobre lo de almacenarlas en una base de datos... supongo que no es el uso mas apropiado para una base de datos...

    Para evitar lios prueba en una maquina virtual, que hoy tienes virtualbox + docker o vagrant para montarlas en cuestion de minutos

  7. #7

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Te cuento cómo hacerlo en LAMP con BLOBs (Binary Large Objects).
    Un BLOB es un campo de 64KB de longitud máxima, para guardar imágenes necesitarás trocearlas en paquetes de 64KB a fin de almacenarlas.
    Para ello, usa SHA1 de PHP en el lado del servidor para hacer los trozos, cada trozo tiene una suma SHA1 asociada de forma que cuando desde el cliente se solicite la imagen, el flujo se reconstruya en sucesivas llamadas a la BBDD.
    Almacenar información en una BBDD es una buena práctica si se trata de contenidos clasificables que se van a consultar a menudo y actualizar de tarde en tarde o nunca, no obstante, usarlo como sustituto de un servidor FTP no es una buena idea.

    Precisamente, eso mismo lo hice en mis tiempos de Grado PhylDoc, pero te adelanto que esto se hace en el lado del servidor.
    Vamos, que si no puedes meterle "mano" al servidor, olvídate.

  8. #8

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ElRana Ver mensaje
    Te cuento cómo hacerlo en LAMP con BLOBs (Binary Large Objects).
    Un BLOB es un campo de 64KB de longitud máxima, para guardar imágenes necesitarás trocearlas en paquetes de 64KB a fin de almacenarlas.
    Para ello, usa SHA1 de PHP en el lado del servidor para hacer los trozos, cada trozo tiene una suma SHA1 asociada de forma que cuando desde el cliente se solicite la imagen, el flujo se reconstruya en sucesivas llamadas a la BBDD.
    Almacenar información en una BBDD es una buena práctica si se trata de contenidos clasificables que se van a consultar a menudo y actualizar de tarde en tarde o nunca, no obstante, usarlo como sustituto de un servidor FTP no es una buena idea.

    Precisamente, eso mismo lo hice en mis tiempos de Grado PhylDoc, pero te adelanto que esto se hace en el lado del servidor.
    Vamos, que si no puedes meterle "mano" al servidor, olvídate.
    https://developer.mozilla.org/en-US/docs/Web/API/Blob

  9. #9

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Buena literatura, pero no responde a su pregunta.
    Esto es mejor:
    https://drive.google.com/open?id=0B5...zV4WW1TS3k4N2M
    Saludos.

  10. #10

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ElRana Ver mensaje
    Buena literatura, pero no responde a su pregunta.
    Esto es mejor:
    https://drive.google.com/open?id=0B5...zV4WW1TS3k4N2M
    Saludos.
    Me refiero a que son BLOBs en la parte frontal, no en la parte backend.

    Si tienes la imagen puedes subirla al servidor con un form, no tienes que hacer nada mas.

  11. #11

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Un BLOB es un objeto binario del servidor de BBDD, pertenece a la parte backend. Cuando subo los objetos en el ejemplo PHP, si no recuerdo mal, lo hago en crudo, tal cual. Sólo hay que realizar una sencilla conversión y el conveniente troceo, sea imagen, datos en crudo (para subir zip, rar, etc...) o lo que sea.
    Se preparan en el lado del servidor (2ª capa) para pasarla al servidor de BDD (3ra capa) procedentes del lado del cliente.
    Última edición por ElRana; 30/12/2016 a las 01:00

  12. #12

    Fecha de ingreso
    Nov 2005
    Ubicación
    Madrid
    Mensajes
    4,183
    Mencionado
    16 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    56
    Agradecer Thanks Received 
    253
    Thanked in
    Agradecido 154 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ElRana Ver mensaje
    Un BLOB es un objeto binario del servidor de BBDD, pertenece a la parte backend. Cuando subo los objetos en el ejemplo PHP, si no recuerdo mal, lo hago en crudo, tal cual. Sólo hay que realizar una sencilla conversión y el conveniente troceo, sea imagen, datos en crudo (para subir zip, rar, etc...) o lo que sea.
    Se preparan en el lado del servidor (2ª capa) para pasarla al servidor de BDD (3ra capa) procedentes del lado del cliente.
    Un BLOB es un objeto binario "grande", punto, puede ser de base de datos, de código de backend o de código de frontend.

    En cualquier caso, en mi opinión la dirección correcta es la que está marcando otto_xd, generas el blob en JS y luego lo mandas como imagen al backend para almacenarla EN DISCO del servidor (o en un CDN o en donde sea físicamente), o mandas el binario como tal a servidor y lo conviertes y almacenas como imagen allí.

    Por favor, imágenes y binarios en base de datos no, es una de las peores prácticas que existen, en base de datos únicamente el path (relativo al proyecto) a la imagen/binario en disco, reduces el tamaño de la base de datos, agilizas los backups, aumentas el rendimiento tanto de la base de datos al ser más compacta como de la aplicación al no tener que hacer llamadas a base de datos para servirlas...

    Saludos!

  13. #13

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    BLOB es un tipo de campo de BBDD cuyas siglas responden a Binary Large OBject.
    Las BBDD también se respaldan, por lo que almacenar datos binarios en una DB no ralentizará casi nada.
    Lo de código backend o frontend, sinceramente, creo que te estas liando entre la abstracción de una interfaz y el tipo de datos de las BBDD.
    Yo os digo que subir ficheros de imágenes, zip, rar, pdf, etc... a una DB lo he hecho sin problemas. El único al que puteas de lo lindo es al procesador, eso sí.
    No os liéis con abstracciones de frameworks JS. Además, esos framworks JS son para que el servidor los incorpore a la página que le pasa al cliente, no para que el cliente los ejecute sin mas, como si fuera esto JAVA, C o Pascal, por ejemplo.

    En cuanto a lo poner imágenes en un servidor FTP o en un servidor de BBDD, a gusto de cada uno.
    Cada opción tiene sus pros y sus contras.

    Saludos y... happy coding!!

  14. #14

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ElRana Ver mensaje
    Un BLOB es un objeto binario del servidor de BBDD, pertenece a la parte backend. Cuando subo los objetos en el ejemplo PHP, si no recuerdo mal, lo hago en crudo, tal cual. Sólo hay que realizar una sencilla conversión y el conveniente troceo, sea imagen, datos en crudo (para subir zip, rar, etc...) o lo que sea.
    Se preparan en el lado del servidor (2ª capa) para pasarla al servidor de BDD (3ra capa) procedentes del lado del cliente.
    Como resumen me puedes comer el rabo.

    Para lo demas releete todo lo que he puesto, lumbreras.

  15. #15

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por otto_xd Ver mensaje
    Como resumen me puedes comer el rabo.

    Para lo demas releete todo lo que he puesto, lumbreras.
    Mejor mira el código fuente que he puesto, que hace exactamente eso, "lumbreras".

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •