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

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

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

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

Вложения

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

reload

Добрый день! Ситуация. Есть база документов, у всех документов есть по одному или несколько вложений, последнии для экономии места вынесены в отдельную базу. задача выгружать вложения находясь в первой (основной) базе, это возможно?
 
R

reload

выгружать на жесткий диск конкретного рабочего места
 
M

morpheus

reload
читайте хэлп, вот яркий пример

This script goes through all the file attachments, object links, and embedded objects in the Body item of a document. Each time it finds a file attachment, it detaches the file to the SAMPLES directory on the C drive and removes the attachment from the document. The script has no effect on the object links or embedded objects in the Body item.
Код:
Dim doc As NotesDocument
Dim rtitem As Variant
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.ExtractFile( "c:\samples\" & o.Source )
Call o.Remove
Call doc.Save( False, True )
End If
End Forall
End If


Если надо на конкретное рабочее место выгружать, то соответственно скрипт должен выполнятясь на этом рабочем месте ( или через расшаренные ресурсы )
 
R

reload

С этим всё, понятно, если бы вложения были в той же базе где и документы, тогда бы вопросов и не было. А так вложения находятся в соседней базе и добраться до них таким образом не получается. Поле "body" в основной базе пустое и никаких вложенных объектов там нет. Есть доп. поле в котором находится ссылка на вложенный объект в другой базе (тип набор строк, сервер, имя базы, UID документа с вложением) вот это вложение и надо достать. Можно таким образом: октрыть базу, получить документ getdocumentbyunid а потом от этого документа отцепить вложение?
 
Y

Yakov

Конечно можно.
Код:
Dim database As New NotesDatabase("server", "path\to\db.nsf")
Dim doc As NotesDocument
Set doc = database.GetDocumentByUNID(unid)
 
M

morpheus

а потом от этого документа отцепить вложение?
именно , в скрипте ж есть коммент '...set value of doc... - вот здесь каким нам удобно образом мы и задаем документ откуда доставвать вложение, будь то тек. документ или любой другой ( тот же гетдокбайунид )
 
R

reload

Цель - сохранить нужные вложения на диске пользователя для дальнейшей работы с ними, так как документов очень много и вложений ещё больше, отбор доков для выгрузки будет идти по выделенным документам. Вроде пробовал так - не получается, щас ещё раз посмотрю, может где оплошал :ph34r:)) Спасибо!!!
 
Мы в соцсетях:

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