Линк на фотку в РТ поле

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Нужно получить ссылку на фотку, которую помещаем в РТ поле.Как сделать? можно ли из РТ поля получить её? или же как поймать адрес фотки которую закидываем в РТ поле при выборе файла?
 
D

DNT

Для: kizarek

что значит "адрес"?

если путь, откуда загружается файл то:

filenames = ws.OpenFileDialog( _
True, "Select files ",, "c:\")
If Not(Isempty(filenames)) Then
Forall filename In filenames
'filename - путь к файлу
'прикрепляешь файл в РТ поле
End Forall
End If


только вопрос - зачем оно надо?
 
S

Sandr

Имеется ввиду веб урл на картинку из РТ поля документа?
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Не совсем так. хотел узнать можно ли получить путь к картинке уже загруженной в РТ поле, но я так понял такое значение в РТ поле не попадает, его поймать можно только при подгрузке картинки.
Другой вопрос вылез.Можно ли сразу выгрузить картинку на ХТМЛ страницу, может у кого есть алгоритмик написанный? Или как фотку из документа вынуть и закинуть в нужную папку как отдельный файл?
 
S

serEJa Shabalin

См. хелп: URL commands for opening attachments, image files, and OLE objects (Notes:///C325732900277008/855DC7FCFD5FEC9A85256B870069C0AB/AB6CD6E8BB3A5A5085256E0000493D9F)

См. хелп: ExtractFile method (Notes:///C325732900277008/F4B82FBB75E942A6852566AC0037F284/6047EAAFCD5B4C6885256E00004A917B)

Хотя если картинка внедрена, то либо DXL либо MIME
 
L

lionk

картинка которая находися в РТ поле по сути хранится в поле $file,
то чтобі отбразить её на хтмл странице достаточно пути типа

тоесть создав тег <img> с тем путём в src ты получиш свою картинку но хтмл странице.
и даже если у тя несколько РТ полей в которых хранятся картинки механизм доступа всегда один.
 
O

Omh

картинка которая находися в РТ поле по сути хранится в поле $file,

Дык это...
В $File она храниться, если она приаттачена.
Если же она inline она там не храниться, а у автора, как я понял, именно inline.
 
S

Sandr

Можно ли сразу выгрузить картинку на ХТМЛ страницу

А что, когда Вы открываете документ в ВЕБе картинки нет? Должна быть... Кому-то я вчера уже тут говорил, что CFD поле в ВЕБе, которое вычисляется из РТ поля, показывает в ВЕБе все содержимое в неизменном виде.. даже картинки...
Если вам на странице надо получить еще и ссылку на картинку, то используйте JAvaScript.. обратитесь к src нужного объекта img...
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Страница веб генериться скриптом.А не база открывается под ВЕБ. Есть ли возможность из лотуса скриптом картинку передать на ХТМЛ? м\б как оле объект...или есть варианты проще? не очень хочется вынимать фотки из БД и потом тока прикручивать к страницам.
 
S

Sandr

Страница веб генериться скриптом.А не база открывается под ВЕБ. Есть ли возможность из лотуса скриптом картинку передать на ХТМЛ? м\б как оле объект...или есть варианты проще? не очень хочется вынимать фотки из БД и потом тока прикручивать к страницам.

Если пользователь работает не с базой, а со статическим HTML, который генерится лотусом, то не получится... Если страница генерируется во время работы пользователя (по его запросу), то Вы можете открывать картинку в случае, если она есть в imageResource базы:

/ссылка на базу/название картинки?OpenImageResource



Если картинка в РТ поле, то можно отталкиваться от notesEmbeddedObject.Source
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
нифига неполучается. Ситуация следующая, есть РТ поле("Foto"), туда помещаем картинку. потом необходимо сохранить эту картинку в отдельный файл, в указанное место. Код из хелпа:
Код:
	Dim docST As NotesDocument 
Dim uidocST As NotesUIDocument	
Dim workspaceST As New NotesUIWorkspace 
Set docST = workspaceST.CurrentDocument .Document
Dim doc As NotesDocument
Dim rtitem As Variant
Set rtitem = docST.GetFirstItem( "Foto" )
MAX = 100000
fileCount = 1
If ( rtitem.Type = RICHTEXT ) Then 
Forall o In rtitem.EmbeddedObjects <==== ТУТ РУГАЕТСЯ НА НЕСООТВЕТСТВИЕ ТИПОВ
If ( o.Type = EMBED_ATTACHMENT ) _
And ( o.FileSize > MAX ) Then
fileCount = fileCount + 1
Call o.ExtractFile _
( "c:\reports\newfile" & Cstr(fileCount) )
Call o.Remove
Call docST.Save( True, True )
End If
End Forall
End If

А если документ небыло сохранён, тоошибка в первом ифе на неверный объект.
Что нетак делаю?(
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Omh
ну ет понятно, это то сделаю, если объект не сохранён то в РТ ничего не приатачено. с этим разберусь)
Хотя и на такую конструкцию тоже ругается)))если документ перед этим несохранён.
 
S

Sandr

Попробуйте rtitem нормально объявить, возможно он его не как РТ определяет, а как обычный итем...

ЗЫ: А какртинка у Вас в каком виде в РТитеме сидит, как аттачь, или как картинка?
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Sandr
Как картинка.Пробовал объявить как NotesRichTextItem, ошибка пропала, но картинку всё равно непойму как вытащить из него...
 
O

Omh

По идее так:
пока док не сохранён, значение RTItem'а не переданно в бэкграунд документ, а ты уже пытаешься его оттуда выудить.
Т.е. надо попробовать либо сделать uidoc.Refresh(True) - тут немного сомневаюсь.
Либо сохранить документ и всё :(

Тьфу, как картинка?!!?
Тогда забудь про Embedded Object.

DXL + NotesMIMEEntity поможет декоднуть картинку и сохранить куда надо.
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Omh
В РТ поле можно выбрать только картинку. Что собственно и делается. Просто она выбирается.
С атачами я не общался ещё. Может лучше фотку приатачить к документу? тогда и достать легче будет? )
 
O

Omh

Аттач гораздо легче выковырять.
Тогда именно NotesEmbeddedObject и нужен.
С inline-картинками сложнее.
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
117
Omh
Сорь тогда за глупый вопрос, как программно при выборе картинки(при закрытие документа, неважно по какому событию) притачить картинку которая выбрана в РТ поле?
 
O

Omh

Тебе надо выбирать не File ->Import, а File-Attach
Потому как импортнув картинку ты сразу теряешь связь с файлом, из которго она импортнута.
 
Мы в соцсетях:

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