Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вывод изображения на страницу, CGI-скрипт / 17 сообщений из 17, страница 1 из 1
04.06.2007, 08:51
    #34571022
vpanasenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Здравствуйте! Хотелось бы узнать, возможно ли ВСТРОИТЬ в страницу изображение? Я с HTML на "вы", в Сети нашел толко вариант для показа изображения в виде тегов IMG+SRC=URL, т.е. указывается URL на внешний файл. Мне нужно выбрать из таблицы БД данные, в том числе графику, и показать. Из найденного в Интернете, получается, что кроме как через внешний файл не получится.. Илия не прав ?
...
Рейтинг: 0 / 0
04.06.2007, 09:45
    #34571105
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Можно, через серверный скрипт. ASP или PHP.
...
Рейтинг: 0 / 0
04.06.2007, 10:42
    #34571256
vasa_c
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
авторвозможно ли ВСТРОИТЬ в страницу изображение?
Нет
авторМожно, через серверный скрипт. ASP или PHP.
Нельзя
...
Рейтинг: 0 / 0
04.06.2007, 11:55
    #34571550
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
vasa_c , ты не прав.
Код: plaintext
<img src="GetImg.asp?ImgID=666">

Пример GetImg.asp:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<%
Dim cn, rs
set cn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
cn.Open "строка подключения"
rs.Open "select Image from Table where ImgID="  & Request.QueryString("ImgID"), cn
Response.contentType = "image/gif" 'или image/jpeg
Response.BinaryWrite rs("Image").Value
%>
Да и "встроить" в html можно, только с какими-то ограничениями и не помню, где видел пример, давно это было.
...
Рейтинг: 0 / 0
04.06.2007, 14:42
    #34572239
vpanasenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
авторМожно, через серверный скрипт. ASP или PHP. я спрашивал через CGI... Написан скрипт на Delphi, в принципе переделал ваш код с VB... но изображенимя так и не отображаются..
Т.е. сделал что типа <img src="GetImg.EXE?ImgID=666">
...
Рейтинг: 0 / 0
04.06.2007, 14:57
    #34572301
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
vpanasenko авторМожно, через серверный скрипт. ASP или PHP. я спрашивал через CGI... Написан скрипт на Delphi, в принципе переделал ваш код с VB... но изображенимя так и не отображаются..
Т.е. сделал что типа <img src="GetImg.EXE?ImgID=666">
хм а сервер-то работает?
...
Рейтинг: 0 / 0
04.06.2007, 15:12
    #34572377
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Может рисунок jpeg, а хедер - gif или наоборот?
Может по запросу GetImg.EXE?ImgID=666 выводится что-то еще, кроме массива картинки?

Можно добавить перед BinaryWrite Response.Buffer = true, а после - Response.Flush.
...
Рейтинг: 0 / 0
04.06.2007, 15:14
    #34572387
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
А чем asp не угодил? Можно же комбинировать скрипты. У меня например на одном сайте веселая смесь asp и aspx. И ничего, работает.
...
Рейтинг: 0 / 0
04.06.2007, 15:16
    #34572404
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
AntonariyМожет рисунок jpeg, а хедер - gif или наоборот?
Может по запросу GetImg.EXE?ImgID=666 выводится что-то еще, кроме массива картинки?

Можно добавить перед BinaryWrite Response.Buffer = true, а после - Response.Flush.А еще в самом начале добавить Response.Clear.
...
Рейтинг: 0 / 0
04.06.2007, 17:45
    #34573029
vpanasenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Вот код обработчика. Я тут пытаюсь записать в файл-поток(для проверки, доходит сюда обрабоатка или нет). В файло ничего не пишеться.:-(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
 S : TFileStream;
begin
    if Request.ContentFields.Count >  0  then
     begin
        Response.ContentType := 'image/jpeg';
        {Tbl.Filter := 'Name='+QuotedStr(Request.QueryFields.ValueFromIndex[ 0 ]);
        Tbl.Filtered := True;}
        Q.Close;
        Q.ParamByName('NAME').AsString := Request.ContentFields.ValueFromIndex[ 0 ];
        Q.Open;
        S := TFileStream.Create('c:\stream.str', fmCreate);
        (Q.FieldByName('BMP')as TBlobField).SaveToStream(S);
        Response.ContentStream := S;
        S.Free;
     end
     else
      if Request.QueryFields.Count >  0  then
       begin
          Response.ContentType := 'image/jpeg';
          {Tbl.Filter := 'Name='+QuotedStr(Request.QueryFields.ValueFromIndex[ 0 ]);
          Tbl.Filtered := True;}
          Q.Close;
          Q.ParamByName('NAME').AsString := Request.QueryFields.ValueFromIndex[ 0 ];
          Q.Open;
          S := TFileStream.Create('c:\stream2.str', fmCreate);
          (Q.FieldByName('BMP')as TBlobField).SaveToStream(S);
          Response.ContentStream := S;
          S.Free;
       end;
end;

Да, веб-сервер работает..:-)
Таблица для отображения - DBDEMOS, animals.dbf.. там, кончено, BMP-картинки, но жобаивл еще одну запись JPEG...
Вот текст странички(если так можно выразиться об ЭТОМ :-) )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<HTML>
<form method="POST" action="Project2.exe">
<HEAD>
<TITLE> ПРИМЕР №  1 </TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE>
<INPUT TYPE="TEXT" NAME="KEY_FIELD">
</TABLE>
<TABLE>
<INPUT TYPE=SUBMIT VALUE="Запрос">
</TABLE>
<BR>
<img src="Project2.exe?NAME=1">
<!--img src="c:\Изображение_отсканировано_15_05_2007_в_14_35.jpg"-->
</CENTER>
</BODY>
</form>
</HTML>
...
Рейтинг: 0 / 0
04.06.2007, 17:57
    #34573073
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Response.ContentStream - это что такое? В дельфях свои серверные объекты? Или это не IIS?
Промежуточное сохранение в файл зачем нужно? И что такое Q?
...
Рейтинг: 0 / 0
04.06.2007, 18:00
    #34573082
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Вопрос про файло снимаю)) Беспокоит Q.
...
Рейтинг: 0 / 0
04.06.2007, 18:07
    #34573107
vpanasenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
AntonariyResponse.ContentStream - это что такое? В дельфях свои серверные объекты? Или это не IIS?
Промежуточное сохранение в файл зачем нужно? И что такое Q?
Вот из помощи:
авторSpecifies the stream object for writing the contents of the HTTP response message to the web client.

Delphi syntax:

property ContentStream: TStream;

C++ syntax:

__property Classes::TStream* ContentStream = {read=FContentStream, write=SetContentStream};

Description

Use ContentStream to set the contents of the HTTP response message to a value that can be written from a stream. ContentStream allows the response object to write its contents directly from a stream.

The stream specified by ContentStream can access a string of HTML commands, the contents of a BLOB database field, or any MIME content type.
Note: ContentStream supersedes the Content property. If both Content and ContentStream are set, the web client is sent the value of the ContentStream, not the value of the Content property.
Т.е. для работы с BLOB полями тоже...В файловый поток я записываю для проверки, выполняется ли код или нет. Но файлы не создаются, значит код не выполняется.. Либо (мне сейчас так показалось) я "гоню" и CGI возможно использовать ТОЛЬКО для <form ... action="CGI"> ? На счет ASP... Я просто веб-программированием никогда не занимался. Буквально на той неделе "приспичило"...
...
Рейтинг: 0 / 0
04.06.2007, 18:12
    #34573125
vpanasenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
AntonariyВопрос про файло снимаю)) Беспокоит Q.
Это объект TQuery - компонент для доступа к данным через БДЕ, использую сиквел.. и все.. я просто делаю выборку
select BMP from animals where NAME=:NAME(это параметр, которому и присваивается(должно!) значение "1")
BMP - это БЛОБ с картинками...
...
Рейтинг: 0 / 0
06.06.2007, 12:10
    #34577217
c_r_a_s_h
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Файл GetImg.pl:

#!/usr/bin/perl

use CGI;
use img;

print "Content-type: image/gif\n\n";
print get_img($ENV{QUERY_STRING});

файл img.pm:

sub get_img{
тут код взятия бинарных данных
binmode STDOUT;
}

и того <img src="httt://www.site.ru/cgi-bin/GetImg.pl?123">
...
Рейтинг: 0 / 0
06.06.2007, 12:28
    #34577280
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
Та же хрень, вид сбоку. К CGI отношения не имеет.

vpanasenko
С дельфями не работал, не знаю, что им не нравится в данном случае. А эта процедура вообще выполняется?
...
Рейтинг: 0 / 0
06.06.2007, 15:47
    #34578175
vpanasenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод изображения на страницу, CGI-скрипт
AntonariyТа же хрень, вид сбоку. К CGI отношения не имеет.

vpanasenko
С дельфями не работал, не знаю, что им не нравится в данном случае. А эта процедура вообще выполняется?
Вот в чем и проблема... Похоже, что нет. Т.к. файло не создается...
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вывод изображения на страницу, CGI-скрипт / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]