г. Влад, картинку можно запихнуть в тело страницы с помощью data:URL. В случае простых изображений вам нужно указать mime-тип для них (например, image/gif), за ним идет base64-представление бинарного файла с изображением. Ниже приведен пример:
code_20012.txt
Вот только IE до 8 версии не поддерживает data:URI
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
|
|||
карма: 0 |
| ||
файлы: 1 | code_20012.txt [1.4KB] [376] | ||
Голосовали: | Влад |
Ответов: 14
Рейтинг: 3
|
|||
Alexbootch, спасибо.
Dilma, писал(а): blob поля не поддерживаютсяDilma, что это значить? Можно подробнее о каких blob полях идет речь? Если про базу sqllite - то там блобы поддерживаются? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Влад писал(а): Можно подробнее о каких blob полях идет речь? в базе sqlite3 как и во многих других есть blob поля для хранения бинарных данных. Если тут г. Влад писал(а): получить изображение из базы данных ихранение картинок в таком виде и реализовано, то получить их базы стандартными элементами hiasm нельзя потому, что ими: Dilma писал(а): blob поля не поддерживаются |
|||
карма: 27 |
|
Ответов: 1891
Рейтинг: 110
|
|||
Dilma, чето даже я ничего не понял?
|
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Alexbootch, а ты что, забыл, как мы тут с тобой эксперименты проводили с текстовой записью HEX в blob поля, вот про это Dilma и пишет, что нет поддержки истинного бинарного доступа к blob-ам
|
|||
карма: 22 |
|
Ответов: 14
Рейтинг: 3
|
|||
nesco, писал(а): Alexbootch, а ты что, забыл, как мы тут с тобой эксперименты проводили с текстовой записью HEX в blob поля, вот про это Dilma и пишет, что нет поддержки истинного бинарного доступа к blob-амnesco, это значит картинки из базы данных напрямую через ответ сервера не послать? Или это как то можно сделать? |
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Влад писал(а): это значит картинки из базы данных напрямую через ответ сервера не послать?Сконвертировать в HEX и послать как запрос записи HEX формата в blob поля, такая возможность есть, но это поддерживается в версиях sqlite 3.4 и выше, ЕМНИП |
|||
карма: 22 |
|
Ответов: 14
Рейтинг: 3
|
|||
nesco, как в базу записывать картинки я разобрался, благо в этой теме все разжевано. Но не разобрался как вывести картинку из базы данных и отправить ее клиенту через http сервер. Нужно как-то так:
|
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Влад писал(а): Но не разобрался как вывести картинку из базы данныхЗдесь должен быть пример чтения картинки из blob полей, если я не ошибаюсь, то там стоит преобразование HEX2Stream, а дальше Stream используется для вывода картинки, если использовать преобразование Stream2Str, то бинарные данные можно подать строкой в запросе |
|||
карма: 22 |
|
Ответов: 14
Рейтинг: 3
|
|||
nesco, c выводом картинки на форму я тоже разобрался, но не получается сформировать ответ http сервера и передать картинку. Может я как-то неправильно передаю картинку клиенту по http протоколу?
|
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Влад писал(а): я как-то неправильно передаю картинку клиенту по http протоколу?Возможно. А ты и длину контента измеряешь и StreamToStr делаешь |
|||
карма: 22 |
|
Ответов: 4641
Рейтинг: 334
|
|||
[offtop]
Влад писал(а): но не получается сформировать ответ http сервера и передать картинку. Может я как-то неправильно передаю картинку клиенту по http протоколу?я считаю это уже вопрос не по теме. Обсуждения процесса передачи картинок по TCP долно происходить в другой теме![/offtop] |
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Я так и не понял вопроса -- нужно принять картинку от сервера, или передать ее. Если принять, то без накопителя потока ты ее не примешь. Я выкладывал тут пример организации приема картинок с сервера с помощью накопителя потока
|
|||
карма: 22 |
|
Ответов: 14
Рейтинг: 3
|
|||
nesco, писал(а): Я так и не понял вопроса -- нужно принять картинку от сервера, или передать ее. Если принять, то без накопителя потока ты ее не примешь. Я выкладывал тут пример организации приема картинок с сервера с помощью накопителя потокаКлиент (т.е. браузер) запрашивает изображение, а http сервер передает его из базы данных клиенту по протоколу HTTP nesco, писал(а): А ты и длину контента измеряешь и StreamToStr делаешьДа |
|||
карма: 1 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Вот тебе пример (сейчас не работает из-за просроченных кукисов), но показывает нагладно, как читать через накопитель, может, поможет тебе.
code_20025.txt Можешь придумать чтение длины контента, и по достижению полного накопления выдавать событие на дальнейшую обработку принятого потока |
|||
карма: 22 |
| ||
файлы: 1 | code_20025.txt [2.6KB] [403] |