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

Kachalov Anton mouse at linux.ru.net
Mon Nov 25 12:54:25 MSK 2002


Ilya Palagin пишет:

> Kachalov Anton wrote:
> ...
> > а в логах апача что пишет?И еще - "Content-type" лучше выдавать
> Ошибок нет. На экране - пустое место вместо картинки.
>
> > средствами CGI, а не руками, тем более, данный заголовок не
> > соответствует спецификации - строка должна заканчиваться не "\n", а
> > "\r\n"
> Наверное, CGI здесь ни при чем, т.к. я просто выливаю содержимое файла
> на stdout, который в данный момент, надо полагать, должен быть направлен
> в вызывающий CGI (с перлом так и происходит). Скорее всего, проблема в
> stdout у ruby,  почему-то ему не нравится направлять вывод в CGI.
>
> Если я напрямую вызываю скрипты, которые выводят картинки, из браузера,
> то перловый выводит изображение, а ruby предлагает
> сохранить файл с изображением (в смысле - появляется диалог Save File).
>
Вот скрипт, который железно показывает картинку.

Rgds,
Anton

-- 
ALTLinux Team
http://www.altlinux.ru
LRN Team
http://www.lrn.ru
FreeCraft Team
http://freecraft.sourceforge.net/

-------------- next part --------------
require "mysql"
require "cgi"

$CGI = CGI.new
MySQL = Mysql.connect('localhost','root','')
MySQL.select_db 'IVK'

id = $CGI.params['image'][0]
if id != ''
    res = MySQL.query("SELECT body,type FROM images WHERE id = '#{id}'")
    (body, type) = res.fetch_row
    print $CGI.header('type'=>'image/'+type)
    print body
end


More information about the Ruby mailing list