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

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#1
Нужно получить ссылку на фотку, которую помещаем в РТ поле.Как сделать? можно ли из РТ поля получить её? или же как поймать адрес фотки которую закидываем в РТ поле при выборе файла?
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
7
37
Украина, Одесса
#2
Для: kizarek

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

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

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


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

Sandr

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

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#4
Не совсем так. хотел узнать можно ли получить путь к картинке уже загруженной в РТ поле, но я так понял такое значение в РТ поле не попадает, его поймать можно только при подгрузке картинки.
Другой вопрос вылез.Можно ли сразу выгрузить картинку на ХТМЛ страницу, может у кого есть алгоритмик написанный? Или как фотку из документа вынуть и закинуть в нужную папку как отдельный файл?
 
S

serEJa Shabalin

Гость
#5
См. хелп: URL commands for opening attachments, image files, and OLE objects (Notes:///C325732900277008/855DC7FCFD5FEC9A85256B870069C0AB/AB6CD6E8BB3A5A5085256E0000493D9F)

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

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

lionk

Well-Known Member
05.04.2007
310
3
#6
картинка которая находися в РТ поле по сути хранится в поле $file,
то чтобі отбразить её на хтмл странице достаточно пути типа http://database.nsf/alias_doca/$file/...еного_в_РТ_поле

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

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#7
картинка которая находися в РТ поле по сути хранится в поле $file,
Дык это...
В $File она храниться, если она приаттачена.
Если же она inline она там не храниться, а у автора, как я понял, именно inline.
 
S

Sandr

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

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#9
Страница веб генериться скриптом.А не база открывается под ВЕБ. Есть ли возможность из лотуса скриптом картинку передать на ХТМЛ? м\б как оле объект...или есть варианты проще? не очень хочется вынимать фотки из БД и потом тока прикручивать к страницам.
 
S

Sandr

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

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



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

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#11
нифига неполучается. Ситуация следующая, есть РТ поле("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

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#13
Omh
ну ет понятно, это то сделаю, если объект не сохранён то в РТ ничего не приатачено. с этим разберусь)
Хотя и на такую конструкцию тоже ругается)))если документ перед этим несохранён.
 
S

Sandr

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

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

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#15
Sandr
Как картинка.Пробовал объявить как NotesRichTextItem, ошибка пропала, но картинку всё равно непойму как вытащить из него...
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#16
По идее так:
пока док не сохранён, значение RTItem'а не переданно в бэкграунд документ, а ты уже пытаешься его оттуда выудить.
Т.е. надо попробовать либо сделать uidoc.Refresh(True) - тут немного сомневаюсь.
Либо сохранить документ и всё :(

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

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

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#17
Omh
В РТ поле можно выбрать только картинку. Что собственно и делается. Просто она выбирается.
С атачами я не общался ещё. Может лучше фотку приатачить к документу? тогда и достать легче будет? )
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#18
Аттач гораздо легче выковырять.
Тогда именно NotesEmbeddedObject и нужен.
С inline-картинками сложнее.
 

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#19
Omh
Сорь тогда за глупый вопрос, как программно при выборе картинки(при закрытие документа, неважно по какому событию) притачить картинку которая выбрана в РТ поле?
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#20
Тебе надо выбирать не File ->Import, а File-Attach
Потому как импортнув картинку ты сразу теряешь связь с файлом, из которго она импортнута.