Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/07/2015, 07:51
Avatar de pcarvajal
pcarvajal
 
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 3 meses
Puntos: 8
Respuesta: Mostrar set de imagenes - Content type: image

uf! gracias por contestar!

es buena idea, la implemente pero me tira errores... me dice que "la imagen no puede ser mostrada porque contiene errores", asi que cambie el res.end por un res.write
Código Javascript:
Ver original
  1. res.writeHead(200, {'content-type':'image/png'});
  2.     var sqlite3 = require('sqlite3').verbose();
  3.     var db = new sqlite3.Database('./routes/shimabara.mbtiles');
  4.     var sql = "SELECT images.tile_data FROM images, map WHERE images.tile_id = map.tile_id AND map.zoom_level = 14 AND map.tile_column = 14125";   
  5.     db.each(sql, function(err, row) {
  6.             console.log(row.tile_data);
  7.             output += row.tile_data;
  8.             //res.write('<img src="'+row.tile_data+'">&nbsp;', 'binary');
  9.     });
  10.     db.close();
  11.     res.write(output, 'binary');

pero me arroja este error por consola
Código Javascript:
Ver original
  1. Express server listening on port 3000
  2. TypeError: first argument must be a string or Buffer

se me ocurre (como alternativa), mostrar las imagenes en contenido html de la siguiente manera:
Código Javascript:
Ver original
  1. res.writeHead(200, {'content-type':'text/html'});
  2.  
  3.     var sqlite3 = require('sqlite3').verbose();
  4.     var db = new sqlite3.Database('./routes/shimabara.mbtiles');
  5.     var sql = "SELECT images.tile_data FROM images, map WHERE images.tile_id = map.tile_id AND map.zoom_level = 14 AND map.tile_column = 14125";   
  6.     db.each(sql, function(err, row) {
  7.             console.log(row.tile_data);
  8.             res.write('<img src="'+row.tile_data+'">&nbsp;', 'binary');
  9.     });
  10.     db.close();

pero al ejecutarlo, en vez de mostrarme la imagen en el navegador, me muestra un monton de caracteres ascii... (igual que cuando abres una imagen con un editor de texto)

Código Javascript:
Ver original
  1. (ıBııı=ıXı*ııı8qı8ı >ııN;ıñıs(%ı¡ıııı7_ıı)ıs1Oıııııııfkıl RJıı/Qı1qııııı3|ı0ı'ıııı^æG+rıııNııı_ııızıoıı_$ıMııııi5ıııı<|dııı~ııııııAııımı?ı`ıısıyısOı%_ıı4ı:ıııpxı;ı9ısxıPZıııııı$BH|6_B ıı8/pı#ıııı_ıııııııı{†ııBııııııııp(ıııııIıı>W!DıngLııı\ıuııııı(ıııı#p|ııı<ıııııı-ı(GOOızı|ııı{Äıhııııııq#fıı]zı]ıııı!ıRıı¶ııujııZıı ıııı#ıı ı›\ıı"Âı'ııı;oıP[ıkg@ ıı.ı"|ıızıı'ı?ı_zAıbikıııııOı\@ııııwıı8rıÔııp) ıo13s /$ıVı.ıı:ıııpnı$ııYkıııbı$ııRıı%ııãıııı/2ııııı4ı12<ı.""oı3\ı`ııy`vıı$Oırbhııı#_ııııı'ıııı EıHı5GıııDıXıRı!ıcııxÆıı[ı7ııv947ı!EıwııxıKı!R 8xtııı<ı ıııı ıı 6 ıııııBı"ııı=xIv} wYıı7ı\_`ı6h+ıı`ııııÓı'XırıRNqıı Nıvıı}P_e!ı ıııııııs;}ı*kZıııı<ıııı$ıË[ıııı]6ıvVWııı8mııFaıııııuıvıııFııCı1&#8216;zıTııııı^ıııiı'ııC^jvıMı>ıhııımı(qmı&DııIP^ııııUıADıb"8ı7ıııııı?ıı'/ıYırıı5ıııR(ıx<ı[ııJEvvvııd/*t=ı yc}ııIıı-ıı<|ıııı=ııııı?xSHıı7.ozıııı)ıımı|ııızıı"Wııı|fı1ıızııı ı[ıııMNııı' àıı ııoııızk/ıM9_ıck[ıUıııXıııP8ııı#gıı: ıG A.ıhıtıı.ııCSııı186ıısı;ı^ı&ııııQı /ı#Gfııııı-‡ı^ıpD0nk 9ıııı-ıse*ıııııııCEıBııı=ı{ıı ı!ıCııııı "ı *ııı{ıı ıı ııııııı)ıRınııwııWıııKH)ıırıGRxRııııı|gı5ılue)ı
__________________
18 laaaaargos años en FDW... y soy de los pocos que ví correr sangre! :X