Вверх ↑
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
#511: 2010-08-15 16:11:59 ЛС | профиль | цитата
г. Влад, картинку можно запихнуть в тело страницы с помощью data:URL. В случае простых изображений вам нужно указать mime-тип для них (например, image/gif), за ним идет base64-представление бинарного файла с изображением. Ниже приведен пример:

code_20012.txt

Вот только IE до 8 версии не поддерживает data:URI
карма: 0
%time%
1
файлы: 1code_20012.txt [1.4KB] [376]
Голосовали:Влад
Ответов: 14
Рейтинг: 3
#512: 2010-08-16 12:18:44 ЛС | профиль | цитата
Alexbootch, спасибо.

Dilma, писал(а):
blob поля не поддерживаются



Dilma, что это значить? Можно подробнее о каких blob полях идет речь? Если про базу sqllite - то там блобы поддерживаются?


карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#513: 2010-08-16 12:24:42 ЛС | профиль | цитата
Влад писал(а):
Можно подробнее о каких blob полях идет речь?

в базе sqlite3 как и во многих других есть blob поля для хранения бинарных данных. Если тут
г. Влад писал(а):
получить изображение из базы данных и

хранение картинок в таком виде и реализовано, то получить их базы стандартными элементами hiasm нельзя потому, что ими:
Dilma писал(а):
blob поля не поддерживаются

карма: 27
0
Ответов: 1891
Рейтинг: 110
#514: 2010-08-16 13:14:16 ЛС | профиль | цитата
Dilma, чето даже я ничего не понял?
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#515: 2010-08-16 13:28:07 ЛС | профиль | цитата
Alexbootch, а ты что, забыл, как мы тут с тобой эксперименты проводили с текстовой записью HEX в blob поля, вот про это Dilma и пишет, что нет поддержки истинного бинарного доступа к blob-ам
карма: 22

0
Ответов: 14
Рейтинг: 3
#516: 2010-08-16 13:56:35 ЛС | профиль | цитата
nesco, писал(а):
Alexbootch, а ты что, забыл, как мы тут с тобой эксперименты проводили с текстовой записью HEX в blob поля, вот про это Dilma и пишет, что нет поддержки истинного бинарного доступа к blob-ам



nesco, это значит картинки из базы данных напрямую через ответ сервера не послать? Или это как то можно сделать?
карма: 1

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#517: 2010-08-16 14:00:32 ЛС | профиль | цитата
Влад писал(а):
это значит картинки из базы данных напрямую через ответ сервера не послать?

Сконвертировать в HEX и послать как запрос записи HEX формата в blob поля, такая возможность есть, но это поддерживается в версиях sqlite 3.4 и выше, ЕМНИП
карма: 22

0
Ответов: 14
Рейтинг: 3
#518: 2010-08-16 14:14:10 ЛС | профиль | цитата
nesco, как в базу записывать картинки я разобрался, благо в этой теме все разжевано. Но не разобрался как вывести картинку из базы данных и отправить ее клиенту через http сервер. Нужно как-то так:

HTTP/1.0 200 OK 
Content-Length: 9046
Content-Type: image/jpeg

image(бинарный)


карма: 1

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#519: 2010-08-16 14:25:24 ЛС | профиль | цитата
Влад писал(а):
Но не разобрался как вывести картинку из базы данных

Здесь должен быть пример чтения картинки из blob полей, если я не ошибаюсь, то там стоит преобразование HEX2Stream, а дальше Stream используется для вывода картинки, если использовать преобразование Stream2Str, то бинарные данные можно подать строкой в запросе
карма: 22

0
Ответов: 14
Рейтинг: 3
#520: 2010-08-16 15:52:24 ЛС | профиль | цитата
nesco, c выводом картинки на форму я тоже разобрался, но не получается сформировать ответ http сервера и передать картинку. Может я как-то неправильно передаю картинку клиенту по http протоколу?
карма: 1

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#521: 2010-08-16 15:56:30 ЛС | профиль | цитата
Влад писал(а):
я как-то неправильно передаю картинку клиенту по http протоколу?

Возможно.
А ты и длину контента измеряешь и StreamToStr делаешь
карма: 22

0
Ответов: 4641
Рейтинг: 334
#522: 2010-08-16 15:58:18 ЛС | профиль | цитата
[offtop]
Влад писал(а):
но не получается сформировать ответ http сервера и передать картинку. Может я как-то неправильно передаю картинку клиенту по http протоколу?

я считаю это уже вопрос не по теме. Обсуждения процесса передачи картинок по TCP долно происходить в другой теме![/offtop]
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#523: 2010-08-16 16:02:28 ЛС | профиль | цитата
Я так и не понял вопроса -- нужно принять картинку от сервера, или передать ее. Если принять, то без накопителя потока ты ее не примешь. Я выкладывал тут пример организации приема картинок с сервера с помощью накопителя потока
карма: 22

0
Ответов: 14
Рейтинг: 3
#524: 2010-08-16 16:08:18 ЛС | профиль | цитата
nesco, писал(а):
Я так и не понял вопроса -- нужно принять картинку от сервера, или передать ее. Если принять, то без накопителя потока ты ее не примешь. Я выкладывал тут пример организации приема картинок с сервера с помощью накопителя потока


Клиент (т.е. браузер) запрашивает изображение, а http сервер передает его из базы данных клиенту по протоколу HTTP

nesco, писал(а):
А ты и длину контента измеряешь и StreamToStr делаешь


Да
карма: 1

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#525: 2010-08-16 16:12:48 ЛС | профиль | цитата
Вот тебе пример (сейчас не работает из-за просроченных кукисов), но показывает нагладно, как читать через накопитель, может, поможет тебе.

code_20025.txt

Можешь придумать чтение длины контента, и по достижению полного накопления выдавать событие на дальнейшую обработку принятого потока
карма: 22

0
файлы: 1code_20025.txt [2.6KB] [403]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)