• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Выгрузить inline картинки из notesRichtextItem

  • Автор темы Автор темы Gandliar
  • Дата начала Дата начала

Gandliar

Lotus Team
16.02.2004
584
26
Здравствуйте!

Может кто поделится работающим кодом по выгрузке inline картинок из ричтекстового поля.
Перелопатил форум, инет, что то частично получилось, но только частично.

Пошел по пути dxl, копирую нужное поле во временный документ, выгружаю в его дхл, нахожу сакс парсером тэги, декодирую из base64 в файл через mime.
если файлы маленькие, например jpeg - работает быстро. вставляю пару фоток 150кб - думает секунд 10 - как то очень долго
а самое печальное, что в некоторых документах дхл возращает среди тэгов какой то совсем маленький кусочек кода который никак не соответствует картинке

Использую поля ричтекст лайт (ради отображения сразу в нем кнопки выбора)

Может надо отказаться от кнопки выбора и использовать ричтекст и хранить там как html и mime ?

Что то я совсем запутался. Помогите пожалуйста.
 
С тормозами вроде разобрался.
Тормозил SAXParser, почему то. На вход ему подавал стринг, который получал из dxl экспортера.
Отказался от sax парсера, просто работаю со стрингом.

а вот так выглядить часть dxl которая кривая

Код:
<item name='Drawing' sign='true' seal='true'><richtext>
<pardef id='2' keepwithnext='true' keeptogether='true'/>
<par def='2'><picture width='1564px' height='1563px' scaledheight='6.5104in'
 scaledwidth='6.5208in'><bitmap/></picture><compositedata type='82' prevtype='125'
 nexttype='124'>
UhQEAFX4AgAUAAAAAAAAAAAAAAA=
</compositedata></par>
<par def='2'/></richtext></item>
<item name='$WebFlags'><textlist><text>V</text></textlist></item>
<item name='$ConflictAction'><textlist><text>3</text></textlist></item>
<item name='files'><richtext>
<pardef id='1' keepwithnext='true' keeptogether='true'/>
<par def='1'/></richtext></item>
<item name='$EncryptionStatus'><textlist><text>0</text></textlist></item>
<item name='$SignatureStatus'><textlist><text>0</text></textlist></item>
<item name='type'><textlist><text>article</text></textlist></item>
 
Последнее редактирование:
EmbeddedImage пробовали?
 
@oshmianski
Он тяжеловесный. Я от него как раз отказался в пользу ручного разбора dxl, производительность отличная.
 
Голд коллекшн смотрел, взял оттуда раскодировку. не увидел там особенностей

Проблема в том, что если добавлен инлайн из файла, из чего-то "корректного" то на выходе имеем номральный jpeg, или сконвертированный гиф, и работает ожидаемо и нормально.

но некоторые файлы конвертируются вот так

Код:
<item name='Drawing' sign='true' seal='true'><richtext>
<pardef id='2' keepwithnext='true' keeptogether='true'/>
<par def='2'><picture width='1564px' height='1563px' scaledheight='6.5104in'
 scaledwidth='6.5208in'><bitmap/></picture><compositedata type='82' prevtype='125'
 nexttype='124'>
UhQEAFX4AgAUAAAAAAAAAAAAAAA=
</compositedata></par>
<par def='2'/></richtext></item>

и как оттуда достать картинку хз, но она то видна

возможно в это поле скопипастили картинку которая была раньше в экселе
 
Голд коллекшн смотрел, взял оттуда раскодировку. не увидел там особенностей

Проблема в том, что если добавлен инлайн из файла, из чего-то "корректного" то на выходе имеем номральный jpeg, или сконвертированный гиф, и работает ожидаемо и нормально.

но некоторые файлы конвертируются вот так

Код:
<item name='Drawing' sign='true' seal='true'><richtext>
<pardef id='2' keepwithnext='true' keeptogether='true'/>
<par def='2'><picture width='1564px' height='1563px' scaledheight='6.5104in'
 scaledwidth='6.5208in'><bitmap/></picture><compositedata type='82' prevtype='125'
 nexttype='124'>
UhQEAFX4AgAUAAAAAAAAAAAAAAA=
</compositedata></par>
<par def='2'/></richtext></item>

и как оттуда достать картинку хз, но она то видна

возможно в это поле скопипастили картинку которая была раньше в экселе
base64 decode
мб где-то здесь код мой был, не помню
 
Похоже, обсуждается сходная проблема.
Т.е. в закодированном фрагменте может храниться как непосредственно само изображение, так и ссылка - в частности на элемент file (STG62657 в примере).
PS Но в примере закодированная строка прилично отличается по размеру, надо сказать. Возможно и ссылаться можно по-разному.
 
в виде ОДП выложил либу (давно здесь выкладывал как архив nsf)
дергает все картинки и сохраняет на диск
2-ух канальная выгрузка
всё это собиралось ещё для 7-ой нотусни
многие либы и их возможности можно взять в современной жвм
 
Последнее редактирование:
пытался вникнуть, но по-моему там все равно используется dxl?

база по выгрузке картинок с кривой картинкой внутри
 

Вложения

пытался вникнуть, но по-моему там все равно используется dxl?

база по выгрузке картинок с кривой картинкой внутри
на базе энкрипшн - нужно снять галочку, сделать компакт
 
картинка png же.
вставить:
tag = "<png>"
fileExt = "png"
GoSub process
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab