• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Узнать Имя Shared Images

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
Всем привет.

Имеем, форма. на форме поле рич-текст-лайт с указаным параметром Shared Images. Выбираем картинку - файл, и она устанавливается как картинка а не как файл.
В связи с етим мы не можем юзать @AttachmentNames.

Вопрос: Как можно узнать имя картинки?
 

savl

Lotus Team
28.10.2011
2 599
311
BIT
192
Думаю стандартными свойствами нет...
На картинке видно, что имя прописано во внутренней структуре RichTextLite.
Через CAPI достучаться возможно.
В dxl выгружать не пробовал, может через него можно.
 

Вложения

  • rtl.png
    rtl.png
    35,2 КБ · Просмотры: 185

savl

Lotus Team
28.10.2011
2 599
311
BIT
192
А вот кстати он поможет:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE document SYSTEM 'xmlschemas/domino_8_5_3.dtd'>
<document xmlns='http://www.lotus.com/dxl' version='8.5' maintenanceversion='3.0'
replicaid='44257A620026FDA7' form='Categ'>
<noteinfo noteid='92a' unid='59B66CD880DECBE944257BA3004C7BF8' sequence='4'>
<created><datetime>20130709T175524,72+04</datetime></created>
<modified><datetime>20130709T175531,32+04</datetime></modified>
<revised><datetime>20130709T175531,31+04</datetime></revised>
<lastaccessed><datetime>20130709T175531,32+04</datetime></lastaccessed>
<addedtofile><datetime>20130709T175530,20+04</datetime></addedtofile></noteinfo>
<updatedby><name></name></updatedby>
<revisions><datetime>20130709T175530,19+04</datetime><datetime>20130709T175530,94+04</datetime><datetime
>20130709T175531,14+04</datetime></revisions>
<item name='testRTL'><richtext>
<pardef id='1'/>
<par def='1'><picture width='14px' height='14px'><imageref name='Edit_yellow.jpg'/></picture></par></richtext></item>
<item name='$EncryptionStatus'><textlist><text>0</text></textlist></item>
<item name='$SignatureStatus'><textlist><text>0</text></textlist></item>
<item name='Category'><textlist><text>sdf</text></textlist></item>
<item name='SubCategory'><textlist><text/></textlist></item>
<item name='NameDoc'><textlist><text/></textlist></item></document>
Агент простенький, для выгрузки:

Код:
Option Public
Option Declare

Dim nline As string
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim desSession As New notessession
Dim desDoc As NotesDocument
Dim dxlExp As NotesDXLExporter
Dim streamDxl As NotesStream
Dim filepth As String
Dim note As String

Set dxlExp = desSession.Createdxlexporter()
Set streamDxl = desSession.Createstream()
Set desDoc = ws.Currentdocument.Document
filepth = "c:\temp\1.xml" 

Call WriteLog("first",filepth)
If streamDxl.Open(filepth) Then
Call streamDxl.Truncate()
Call dxlExp.Setinput(desDoc)
Call dxlExp.Setoutput(streamDxl)
Call dxlExp.Process()
Call streamDxl.Close()
End If
End Sub

Sub WriteLog (strLog As String, logFileName As String )
On Error GoTo handler
Const FuncName = {Sub "WriteLog" }
Dim errStr As String

Dim fileName As String
Dim fileNum As Integer
fileNum% = FreeFile()
fileName$ = logFileName
Open FileName$ For Append As fileNum%
Write #fileNum% , strLog
Close fileNum%

GoTo endh
handler:
errStr = FuncName & {стр. } & Erl & nLine & Error$		
Error Err,ErrStr
endh:
End Sub
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
savl

Огромное спасибо! dxl + xml парсер = решение проблем :rolleyes:
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
шож вы делаете-то :rolleyes: - "сказал А - говори Б"
кто мешал приляпать XSLT сразу, кот. и выдаст имя из атрибута?
а вы тут замутили файло (х-з где) да потом еще и парсить...

Добавлено: и да... проще (в данном случае) ваще сделать SAX
 

savl

Lotus Team
28.10.2011
2 599
311
BIT
192
lmike
да я сам с xml не очень, использую как пойдет. XSLT все никак не научусь применять :(
Sax конечно лучше, но готовый код был только такой.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!