Converting Rich Text To Html ( With Images )

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#1
Всем привет! Есть задача конвертнуть RichText-поле в HTML с картинками, но стоб картинки были на борту а не в базе
 

Omh

Lotus team
04.07.2007
2 210
1
#2
:(
Ну погоди, в HTML картинки должны лежать на каком те ресурсе и HTML должен на них ссылаться.
Или ты хочешь картинки прямиком в HTML эмбеднуть, типа как в mime?
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#4
Суть вопроса вот в чем....
есть форма-шаблон в которой формируется шаблон подписи... в этот шаблон можно вставлять картинки (НЕ атачи!!!!)....
после формирования шаблона - его надо экспортнуть в HTML... вместе с картинками. а вот как вытянуть картинку - не понимаю
 
13.03.2009
625
1
#6
Суть вопроса вот в чем....
есть форма-шаблон в которой формируется шаблон подписи... в этот шаблон можно вставлять картинки (НЕ атачи!!!!)....
а если бы аттачи - вопросов бы не было? ;-)
после формирования шаблона - его надо экспортнуть в HTML... вместе с картинками. а вот как вытянуть картинку - не понимаю
я так понял, нужно вставить каритинку в html не через link, а бинарником?
технически - это возможно: вручную внедрите картинку через uri data: в тэге img аттрибут src должен быть вида src = "data:[<MIME-type>][;charset="<encoding>"][;base64],<data>"
http://en.wikipedia.org/wiki/Data_URI_scheme

Чисто ради эксперимента: создал форму, одно (RT) поле Body. Влепил туда импортом gif картинку.
Экпортнул док в dxl. Получил ( для body ):<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"Кусок dxl"</div></div><div class="sp-body"><div class="sp-content"><item name="Body">
<richtext>
<pardef id="1"/>
<par def="1">
<picture width="16px" height="16px">
<gif>
R0lGODlhEAAQAPcAAD6lOS15KTmeM0CtOnOtT4y0eSRmIUdhRi6EKlmqUmqiTmOdRzKNLSZtIzqm
NCFdHlVyUy9hLSRoIVRcUz2rOF2jQiVrIpG+d12hQSdxJD+3OqjOkEaMQ5jBhaXMjV5jWjuqNkC3
OkaWQpW/jjiTNHqmdTl9NsLjr4KvbHOoV0CkOl2gRDlzNlhdWE1eTFhnV2+haCFXID1rOkp5R2Jz
Tj2pNyN0ID6yOFSiTC5xKo7DhSp3JoSwcVOfSzqoNV+3T37CcnayYD6XOKnLmp3AlGitYpa/g7jX
pJm+iUusRarIl63UnqzPlEBhP4K1d5m+hoy8bWeeTWKkV22jUU+ETDihMzmhNChtIzyiNnOiaz19
OlyfQkJfQEGUPUCfO4C1XlatUFJ2UEdSLkVaNlVgSVpnSnCqTVCFO360XEZnRE96TVhpVy1+Kidw
Iz+oOj6vOWCaRlemTjmaNIS5Yi+JKi2PKCRfInuyWChzJCBZHYSwcIWxcXSWZVSeTTyrNlxcXAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAI0gD/CBz4
RwOEP2FqEBy4ZuANER/UYFkoMAQVgRQA0DgjoAzFAW/+uPHhwAqQE3zILITgR0WSJUd01PmhhAEd
BANeCHQAYMOcO0GE0JEiBiMIDl7AePhCoEKCISMQjBnYpYoAJmgIYIjTIcUTNgHSDJSTAIqZLTiM
TFmAZAeeNg0EkihyYUWPAgoW7IGRocWfJgJnMHDSBy8cHiYaHBioobEWG0RQRNFTwoIEA1wEahjI
IgCMLDkkHHBh58GEgpsFyrhyOQLF1AsjmF4Ie2GeGAsDAgA7
</gif>
</picture>
</par>
</richtext>
</item>Наивно предположил, что получившаяся фигня и есть base64 моей картинки, набросал в блокноте файл:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"embImage.html"</div></div><div class="sp-body"><div class="sp-content"><html>
<body>
<img src="data:image/gif;base64,R0lGODlhEAAQAPcAAD6lOS15KTmeM0CtOnOtT4y0eSRmIUdhRi6EKlmqUmqiTmOdRzKNL
SZtIzqm
NCFdHlVyUy9hLSRoIVRcUz2rOF2jQiVrIpG+d12hQSdxJD+3OqjOkEaMQ5jBhaXMjV5jWjuqNkC3
OkaWQpW/jjiTNHqmdTl9NsLjr4KvbHOoV0CkOl2gRDlzNlhdWE1eTFhnV2+haCFXID1rOkp5R2Jz
Tj2pNyN0ID6yOFSiTC5xKo7DhSp3JoSwcVOfSzqoNV+3T37CcnayYD6XOKnLmp3AlGitYpa/g7jX
pJm+iUusRarIl63UnqzPlEBhP4K1d5m+hoy8bWeeTWKkV22jUU+ETDihMzmhNChtIzyiNnOiaz19
OlyfQkJfQEGUPUCfO4C1XlatUFJ2UEdSLkVaNlVgSVpnSnCqTVCFO360XEZnRE96TVhpVy1+Kidw
Iz+oOj6vOWCaRlemTjmaNIS5Yi+JKi2PKCRfInuyWChzJCBZHYSwcIWxcXSWZVSeTTyrNlxcXAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAI0gD/CBz4
RwOEP2FqEBy4ZuANER/UYFkoMAQVgRQA0DgjoAzFAW/+uPHhwAqQE3zILITgR0WSJUd01PmhhAEd
BANeCHQAYMOcO0GE0JEiBiMIDl7AePhCoEKCISMQjBnYpYoAJmgIYIjTIcUTNgHSDJSTAIqZLTiM
TFmAZAeeNg0EkihyYUWPAgoW7IGRocWfJgJnMHDSBy8cHiYaHBioobEWG0RQRNFTwoIEA1wEahjI
IgCMLDkkHHBh58GEgpsFyrhyOQLF1AsjmF4Ie2GeGAsDAgA7
"/>
</body>
</html> и угадал:
firefox ( 3.5 ) и crome ( 3.0 ) отрисовали мне искомую картинку. Но радовался я недолго: ie 7 картинку казать отказался( и почему меня это не удивило? Стандарт-то новый, от 1998 года:) ). Но, по слухам, разработчики ms внедрили поддержку RFC 2397 в ie8...

Дальнейшие поиски навели на статью http://webo.in/articles/habrahabr/46-cross-browser-data-url/
в которой описано, как указанный стандарт понимают в MS и соответсвенно как с ним бороться.
Далее проснулась жена и веником прогнала меня от компьютера, поэтому клепать ms-совместимое решение я не стал, хотя суть понятна.
Т.о. тему экспорта картинок из RT в HTML для отображения его в любом браузере( в т.ч. ie6 и выше ) предлагаю считать раскрытой.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#7
ну если картинку аттачить - то проблем меньше... вот только нет наглядности при верстке шаблона.
Ну а после формирования файла его надо подставить в подпись почтового сообщения... так что любой HTML не подходит
 
13.03.2009
625
1
#8
так что любой HTML не подходит
Это о чем? Что есть "любой HTML"?
Вопрос был "как вытянуть картинку"? Все остальное вроде было понятно? :) Цитирую вопрос:
Суть вопроса вот в чем....
есть форма-шаблон в которой формируется шаблон подписи... в этот шаблон можно вставлять картинки (НЕ атачи!!!!)....
после формирования шаблона - его надо экспортнуть в HTML... вместе с картинками. а вот как вытянуть картинку - не понимаю
Как вытянуть картинку - вроде раскрыл. Именно для случая, когда картинка лежит НЕ аттачем. На выходе имеем кусок html-разметки(тэг img), который можем вставлять куда заблагорассудится