BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 07.03.06 10:53
Оценка:
Как можно вставить на страницу рисунок, который храниться в БД в виде BLOB'а?
Я тут подумал, что URL рисунка должен быть ссылкой на ХП, возвращающую image по имени.
Сервер OracleAS 10g. Страницы генеряться на сервере с помощью пакета HTP.
Может еще что есть?
То что меня не убивает, делает меня умнее.
Re: BLOB (image) из БД на страницу
От: Neron Германия  
Дата: 12.03.06 07:39
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>Как можно вставить на страницу рисунок, который храниться в БД в виде BLOB'а?

FR>Я тут подумал, что URL рисунка должен быть ссылкой на ХП, возвращающую image по имени.
FR>Сервер OracleAS 10g. Страницы генеряться на сервере с помощью пакета HTP.
FR>Может еще что есть?

1) Нужно, написать скрипт, который будет выводить рисунки.
В скрипте этом, нужно послать заголовок типа содержимого (mime-type).
Для GIF-а например:

header('Content-Type: image/gif');


После чего получить данные из базы и вывести их.

2) Там где нужно рисовать, написать примерно такое:

<img src="срипт_который_выводит_рисунок.php">
Re[2]: BLOB (image) из БД на страницу
От: Neron Германия  
Дата: 12.03.06 07:41
Оценка:
Здравствуйте, Neron, Вы писали:

Так, на PHP.
Думаю на других языках таже ситуация.

Т.к. header-ы есть header-ы
Re[2]: BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 13.03.06 07:59
Оценка:
Здравствуйте, Neron, Вы писали:

N>1) Нужно, написать скрипт, который будет выводить рисунки.

N> В скрипте этом, нужно послать заголовок типа содержимого (mime-type).
N> Для GIF-а например:

N>
N>header('Content-Type: image/gif');
N>


N> После чего получить данные из базы и вывести их.


N>2) Там где нужно рисовать, написать примерно такое:


N>
N><img src="срипт_который_выводит_рисунок.php">
N>


Может примерчик? Я только начал с такими вещами работать. И где о подобных вещах почитать?
То что меня не убивает, делает меня умнее.
Re[3]: BLOB (image) из БД на страницу
От: Neron Германия  
Дата: 13.03.06 12:49
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>Может примерчик? Я только начал с такими вещами работать. И где о подобных вещах почитать?


Могу привести пример на PHP:

<?php
// image.php

$strImageData = ""; // В эту переменную записать бинарные данные рисунка, полученные из БД

// Отсылаем заголовки, которые говорят браузеру что загружается рисунок
header('Content-Type: image/gif');

// Выбрасываем данные в браузер
echo $strImageData;
?>


<?php
// show.php

echo "<img src=\"image.php\" alt=\"Рисунок\">"."\n";
?>
Re[4]: BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 13.03.06 13:32
Оценка:
Здравствуйте, Neron, Вы писали:

N>Здравствуйте, FunnyRabbit, Вы писали:


FR>>Может примерчик? Я только начал с такими вещами работать. И где о подобных вещах почитать?


N>Могу привести пример на PHP:


N>
N><?php
N>// image.php

N>$strImageData = ""; // В эту переменную записать бинарные данные рисунка, полученные из БД

N>// Отсылаем заголовки, которые говорят браузеру что загружается рисунок
N>header('Content-Type: image/gif');

N>// Выбрасываем данные в браузер
N>echo $strImageData;
N>?>
N>


N>
N><?php
N>// show.php

N>echo "<img src=\"image.php\" alt=\"Рисунок\">"."\n";
N>?>
N>


А если я заменю на JavaScript, будет работать?
Т.е. типа

<script>
function get_image(string s)
{
  var img = "url"."имя процедуры";
  return img;
}

<img src="get_image("a")">

</script>
То что меня не убивает, делает меня умнее.
Re[5]: BLOB (image) из БД на страницу
От: Neron Германия  
Дата: 13.03.06 13:51
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>А если я заменю на JavaScript, будет работать?


Будет.
Re[6]: BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 13.03.06 15:02
Оценка:
Здравствуйте, Neron, Вы писали:

N>Здравствуйте, FunnyRabbit, Вы писали:


FR>>А если я заменю на JavaScript, будет работать?


N>Будет.


Сделал так:


    <script>
              function get_img(int id)
              {
               var img = "адресс функции";
               header(''Content-Type: image/jpeg'');
               return img;
              }
      </script>
......
.......
<td>
      <IMG SRC="javascript:get_img("id рисунка")"
           ALT=" Ôîòî - '
             || r.fio
             || '"
           WIDTH=50 HEIGHT=75>
      </td>

Но. Браузер определяет рисунок, но не выводит.
Типа:
Размер — 0х0
0 битов на пиксел.
Размер 0 блайт.
Че не так?
То что меня не убивает, делает меня умнее.
Re[7]: BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 14.03.06 06:33
Оценка:
up
То что меня не убивает, делает меня умнее.
Re[5]: BLOB (image) из БД на страницу
От: Rumata Россия http://atamur.livejournal.com
Дата: 14.03.06 06:42
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>А если я заменю на JavaScript, будет работать?

FR>Т.е. типа

FR>
FR><script>
FR>function get_image(string s)
FR>{
FR>  var img = "url"."имя процедуры";
FR>  return img;
FR>}

FR><img src="get_image("a")">

FR></script>
FR>


Видимо, нет.
А зачем писать так?

Если есть непреодолимое желание генерировать src руками, то можно сделать скрипт, который будет обходить все img с определенным аттрибутом и раздавать им src.
Re[6]: BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 14.03.06 08:41
Оценка:
Здравствуйте, Rumata, Вы писали:

R>Видимо, нет.

R>А зачем писать так?

R>Если есть непреодолимое желание генерировать src руками, то можно сделать скрипт, который будет обходить все img с определенным аттрибутом и раздавать им src.


А подробнее? Я не понял.
То что меня не убивает, делает меня умнее.
Re[7]: BLOB (image) из БД на страницу
От: Rumata Россия http://atamur.livejournal.com
Дата: 14.03.06 08:48
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>Здравствуйте, Rumata, Вы писали:


R>>Видимо, нет.

R>>А зачем писать так?

R>>Если есть непреодолимое желание генерировать src руками, то можно сделать скрипт, который будет обходить все img с определенным аттрибутом и раздавать им src.


FR>А подробнее? Я не понял.

Расскажите, сначала, подробнее, зачем это нужно.

Код примерно такой:

var ie  = document.all
var ns6 = document.getElementById&&!document.all
function my_getElementsByTagName(el,str) {
  if (document.all){
    if (str=="*"){
      return el.all
        }
    else{
      return el.all.tags(str)
        }
    }
  else{
    return el.getElementsByTagName(str)
  }
} 


  var a_elems = my_getElementsByTagName(document,"IMG");

  for(i = 0; i < a_elems.length; i++) {
    if (a_elems[i].getAttribute('change_src') != null) {
      a_elems[i].src = your_func(a_elems[i].src);
    }
  }
Re[5]: BLOB (image) из БД на страницу
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.03.06 10:04
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:
FR>А если я заменю на JavaScript, будет работать?
FR>Т.е. типа
Нет не будет. И не должно. Ты не обратил внимание, что php -пример отправляет агента за картинкой на сервер?
Тебе надо сделать также:
— реализовать отдельный скрипт на серверной стороне, который будет отдавать содержимое картинки
— сослаться на него в атрибуте src тега img.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: BLOB (image) из БД на страницу
От: FunnyRabbit Россия  
Дата: 14.03.06 12:32
Оценка:
Здравствуйте, Rumata, Вы писали:

R>Расскажите, сначала, подробнее, зачем это нужно.

В БД есть информация по пользователям. В том числе и фото. Надо выводить. Пользователей > 5000.
То что меня не убивает, делает меня умнее.
Re[9]: BLOB (image) из БД на страницу
От: Rumata Россия http://atamur.livejournal.com
Дата: 14.03.06 13:19
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>Здравствуйте, Rumata, Вы писали:


R>>Расскажите, сначала, подробнее, зачем это нужно.

FR>В БД есть информация по пользователям. В том числе и фото. Надо выводить. Пользователей > 5000.
Тогда, как ниже написал Sinclair, Вы делаете не то, что нужно.

Нужно написать скрипт, который будет выдавать картинку, и этот скрипт указывать, как src у картинок на странице
Re[7]: BLOB (image) из БД на страницу
От: Neron Германия  
Дата: 15.03.06 12:53
Оценка:
Здравствуйте, FunnyRabbit, Вы писали:

FR>>>А если я заменю на JavaScript, будет работать?


Нет, выводить картинку должен серверный скрипт.
Сам подумай как JavaScript на странице получит данные из БД.
(Может я конечно не правильно понял )

Спомощью JavaScript можно манипулировать тегами <img>.

А в серверном скрипте можно обрабатывать параметры GET.

Например:

<img src="image.php?user_id=5">


Выведет рисунок с пользователя с идентификаторм 5.
Re[10]: BLOB (image) из БД на страницу
От: Dervik  
Дата: 15.03.06 15:45
Оценка: +1
Здравствуйте, Rumata, Вы писали:

R>Здравствуйте, FunnyRabbit, Вы писали:


FR>>Здравствуйте, Rumata, Вы писали:


R>>>Расскажите, сначала, подробнее, зачем это нужно.

FR>>В БД есть информация по пользователям. В том числе и фото. Надо выводить. Пользователей > 5000.
R>Тогда, как ниже написал Sinclair, Вы делаете не то, что нужно.

R>Нужно написать скрипт, который будет выдавать картинку, и этот скрипт указывать, как src у картинок на странице


при больших посещениях умрет и БД и скрипт
картинки лучше хранить статическими файлами имя которых будет (это к примеру) ИД пользователя базы тем самым вы разгрузите сервер, в противном случае рискуете остаться без сервера на длительное время
ИМХО лучше человеку выдать маленький код для выноса сорсов картинок из базы в статику
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.