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

Тема в разделе "Lotus - Программирование", создана пользователем Kizarek86, 21 фев 2008.

  1. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Нужно получить ссылку на фотку, которую помещаем в РТ поле.Как сделать? можно ли из РТ поля получить её? или же как поймать адрес фотки которую закидываем в РТ поле при выборе файла?
     
  2. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Для: kizarek

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

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

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


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

    Sandr Гость

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

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Не совсем так. хотел узнать можно ли получить путь к картинке уже загруженной в РТ поле, но я так понял такое значение в РТ поле не попадает, его поймать можно только при подгрузке картинки.
    Другой вопрос вылез.Можно ли сразу выгрузить картинку на ХТМЛ страницу, может у кого есть алгоритмик написанный? Или как фотку из документа вынуть и закинуть в нужную папку как отдельный файл?
     
  5. serEJa Shabalin

    serEJa Shabalin Гость

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

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

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

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    картинка которая находися в РТ поле по сути хранится в поле $file,
    то чтобі отбразить её на хтмл странице достаточно пути типа http://database.nsf/alias_doca/$file/...еного_в_РТ_поле

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Дык это...
    В $File она храниться, если она приаттачена.
    Если же она inline она там не храниться, а у автора, как я понял, именно inline.
     
  8. Sandr

    Sandr Гость

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

    Kizarek86 Lotus team
    Lotus team

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

    Sandr Гость

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

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



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

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    нифига неполучается. Ситуация следующая, есть РТ поле("Foto"), туда помещаем картинку. потом необходимо сохранить эту картинку в отдельный файл, в указанное место. Код из хелпа:
    Код (Text):
        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
    А если документ небыло сохранён, тоошибка в первом ифе на неверный объект.
    Что нетак делаю?(
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Код (Text):
    if Not IsEmpty(d.EmbeddedObjects) then...
    ?
     
  13. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Omh
    ну ет понятно, это то сделаю, если объект не сохранён то в РТ ничего не приатачено. с этим разберусь)
    Хотя и на такую конструкцию тоже ругается)))если документ перед этим несохранён.
     
  14. Sandr

    Sandr Гость

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

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

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Sandr
    Как картинка.Пробовал объявить как NotesRichTextItem, ошибка пропала, но картинку всё равно непойму как вытащить из него...
     
  16. Omh

    Omh Lotus team
    Lotus team

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

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

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

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Omh
    В РТ поле можно выбрать только картинку. Что собственно и делается. Просто она выбирается.
    С атачами я не общался ещё. Может лучше фотку приатачить к документу? тогда и достать легче будет? )
     
  18. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Аттач гораздо легче выковырять.
    Тогда именно NotesEmbeddedObject и нужен.
    С inline-картинками сложнее.
     
  19. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Omh
    Сорь тогда за глупый вопрос, как программно при выборе картинки(при закрытие документа, неважно по какому событию) притачить картинку которая выбрана в РТ поле?
     
  20. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Тебе надо выбирать не File ->Import, а File-Attach
    Потому как импортнув картинку ты сразу теряешь связь с файлом, из которго она импортнута.
     
Загрузка...

Поделиться этой страницей