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

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

Kizarek86

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

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

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

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


только вопрос - зачем оно надо?
 
Имеется ввиду веб урл на картинку из РТ поля документа?
 
Не совсем так. хотел узнать можно ли получить путь к картинке уже загруженной в РТ поле, но я так понял такое значение в РТ поле не попадает, его поймать можно только при подгрузке картинки.
Другой вопрос вылез.Можно ли сразу выгрузить картинку на ХТМЛ страницу, может у кого есть алгоритмик написанный? Или как фотку из документа вынуть и закинуть в нужную папку как отдельный файл?
 
См. хелп: URL commands for opening attachments, image files, and OLE objects (Notes:///C325732900277008/855DC7FCFD5FEC9A85256B870069C0AB/AB6CD6E8BB3A5A5085256E0000493D9F)

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

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

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

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

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

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



Если картинка в РТ поле, то можно отталкиваться от notesEmbeddedObject.Source
 
нифига неполучается. Ситуация следующая, есть РТ поле("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

А если документ небыло сохранён, тоошибка в первом ифе на неверный объект.
Что нетак делаю?(
 
Omh
ну ет понятно, это то сделаю, если объект не сохранён то в РТ ничего не приатачено. с этим разберусь)
Хотя и на такую конструкцию тоже ругается)))если документ перед этим несохранён.
 
Попробуйте rtitem нормально объявить, возможно он его не как РТ определяет, а как обычный итем...

ЗЫ: А какртинка у Вас в каком виде в РТитеме сидит, как аттачь, или как картинка?
 
Sandr
Как картинка.Пробовал объявить как NotesRichTextItem, ошибка пропала, но картинку всё равно непойму как вытащить из него...
 
По идее так:
пока док не сохранён, значение RTItem'а не переданно в бэкграунд документ, а ты уже пытаешься его оттуда выудить.
Т.е. надо попробовать либо сделать uidoc.Refresh(True) - тут немного сомневаюсь.
Либо сохранить документ и всё :(

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

DXL + NotesMIMEEntity поможет декоднуть картинку и сохранить куда надо.
 
Omh
В РТ поле можно выбрать только картинку. Что собственно и делается. Просто она выбирается.
С атачами я не общался ещё. Может лучше фотку приатачить к документу? тогда и достать легче будет? )
 
Аттач гораздо легче выковырять.
Тогда именно NotesEmbeddedObject и нужен.
С inline-картинками сложнее.
 
Omh
Сорь тогда за глупый вопрос, как программно при выборе картинки(при закрытие документа, неважно по какому событию) притачить картинку которая выбрана в РТ поле?
 
Тебе надо выбирать не File ->Import, а File-Attach
Потому как импортнув картинку ты сразу теряешь связь с файлом, из которго она импортнута.
 
Мы в соцсетях:

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