Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

490
Vistas
¿Cómo almacenar la imagen en mi base de datos mysql en formato blob en mi hoja de Google?

Tengo una hoja de Google conectada a mi base de datos MySQL con un script de Google. Puedo recuperar todos los datos de texto que quiero en lugar del blob almacenado en la base de datos. Aquí está el código php:

 $insert = $conn->query("INSERT into images (image) VALUES ('$base64Img')");

Solo dejé un campo para que quede claro

La columna de blob de la tabla se establece en "LONGBLOB". ¿Cómo puedo ver mi BLOB como una imagen en mi hoja de Google?

Esto es lo que probé:

 function readFromTable() { var conn = Jdbc.getConnection(url, username, password); var stmt = conn.createStatement(); stmt.setMaxRows(1000); var results = stmt.executeQuery('SELECT image FROM images'); var numCols = results.getMetaData().getColumnCount(); var spreadsheet = SpreadsheetApp.getActive(); var sheet = spreadsheet.getSheetByName('Sheet1'); var arr=[]; while (results.next()) { var arr = []; for (var col = 0; col < numCols; col++) { arr.push(results.getBlob(col + 1)); } sheet.appendRow(arr); } results.close(); stmt.close(); }

No recibo ningún mensaje de error, pero en mi hoja se imprime: JdbcBlob en la celda en lugar de la imagen real. Me gustaría poner la imagen en una celda de mi hoja de Google

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

  • Obtener JdbcBlob de JdbcResultSet
  • Obtenga AppsScriptBlob de JdbcBlob
  • Insertar AppsScriptBlob en la hoja como imagen
 const jdbcBlob = results.getBlob(col + 1); const appsScriptBlob = jdbcBlob.getAppsScriptBlob(); sheet.insertImage(appsScriptBlob,1,1); //if image data is base64 encoded: sheet.insertImage(Utilities.newBlob(Utilities.base64Decode(appsScriptBlob.getDataAsString())),1,1)

Otra forma sería obtener una matriz de bytes usando getBytes() :

 const byteArr = results.getBytes(col + 1); //if image data is base64 encoded: sheet.insertImage(Utilities.newBlob(Utilities.base64Decode(Utilities.newBlob(byteArr).getDataAsString())),1,1)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda