[Ruby] Проблема с выводом графики из базы данных в CGI

Ilya Palagin tux at fioc.kz
Sun Nov 24 23:24:33 MSK 2002


Здравствуйте,

Я пытаюсь организовать вывод графических файлов из mysql базы, где они 
хранятся в виде BLOB, в CGI.  Рубиновый скрипт для вывода картинок не 
работает (причем в командной строке все в порядке), но аналогичный 
перловый - без проблем.

----------------------
Вот базовый скрипт, который вызывает getimage.pl и getimage.rbx, но 
работает при этом только getimage.pl.

#!/usr/bin/ruby -w
require 'cgi'
cgi = CGI.new("html3")
cgi.out(){
   cgi.html{
     cgi.body{
           "<img src = /cgi-bin/getimage.pl>" +
           cgi.br + cgi.hr +
           "<img src = /cgi-bin/getimage.rbx>"
     }
   }
}

------------------------
Перловый скрипт для получения картинок (успешно работает)

#!/usr/bin/perl -w
use strict;
use DBI;
my $dbh = DBI->connect('DBI:mysql:faxarch', 'fax', 'pwd');
my $sql = "SELECT image FROM faxdata WHERE id=1";
my $sth = $dbh -> prepare($sql); $sth->execute;
while (my @row = $sth->fetchrow) {
     print "Content-Type: image/jpeg\n\n";
     print "$row[0]";
}

---------------------
А вот такой же рубиновый, но почему-то не работает при вызове из базового

#!/usr/bin/ruby -w
require 'dbi'
dbh = DBI.connect('DBI:Mysql:faxarch', 'faxadm', '3Apro$Y')
sql = %Q{ SELECT image FROM faxdata WHERE id=1 }
sth = dbh.prepare(sql); sth.execute
print "Content-Type: image/jpeg\n\n"
print((sth.fetch)[0])
dbh.disconnect

Было бы приятно узнать, почему так.
Спасибо.




More information about the Ruby mailing list