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

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

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

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

Добавить файл в Веб

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

wowa

Подскажите , может у кого есть пример.....
В лотусе реализовано так... нажимаю на кнопку "Добавить", выбираю файл, выбранный файл заносится в RTF..
Как это правильно сделать в Веб? Чтобы потом при открытии в лотусе этого документа все было Ок.???

Нашел что в веб, добавление делается типа так:
Код:
<input type="file" name="attachment" size="40">
 
W

wowa

Sandr , если не сложно, можно в кратце своими словами?
 
K

KLif

Хм ... можно наверно так:
1. Каждый раз при добавлении нового файла, его параметры (путь, имя) сохранять в отдельном поле (скрытом), через какой нить символ ... в итоге у тебя будет текстовое поле со всеми прикрепленными файлами -> Имя#Путь~Имя#Путь~Имя#Путь : вот как нить так выглядеть будет
2. Если нужно чтобы эти файлы потом отображались в веб при открытии этого дока, то пишешь агента или js функцию, которая разбирает этот поле (split) и пробегая по всем его элементам автоматически прикрепляет все файлы
3. То же самое и в лотусе, на опен формы пишешь разбор твоего поля и программно атачишь файлы ...

Вроде такое должно работать ...
 
W

wowa

KLif , ну вот я тоже так думал... или создавать какой-то отдельный документ (но это еще не продумывал)
 
S

Sandr

File Upload Control - это эмбедет элемент дизайна, который имитирует файлопен диалог в вебе. Присабмите документа выбранный файл автоматически аттачится к документу...

Если надо, что бы файл был приаттачен не к локументу, а в РТ поле, то потом нужно просто детичить его от документа и аттачить в нужное РТ поле уже в самом агенте.
 
W

wowa

Если надо, что бы файл был приаттачен не к локументу, а в РТ поле, то потом нужно просто детичить его от документа и аттачить в нужное РТ поле уже в самом агенте.
Вот это мне и надо!
детичить его от документа
Эт как?
 
S

Sandr

у документа тоде могут быть эмбедет объекты.. аттачи.. получить их можно так
Код:
If doc.HasEmbedded Then
Forall o In doc.EmbeddedObjects
Messagebox( o.Name )
End Forall
Else

можно вылодить по нужному пути, а потом их оттуда забрать и приатачить к РТ полю...

Это все в один заход в агенте делается...
 
W

wowa

Как вообще присоединить файл к документу
Вот сделал я стандартное, для выбора файла
Код:
<input type="file" name="attachment" size="40">
Дальше мне нужно сделать кнопку, типа "Присоединить файл"
Что в этой кнопке нужно прописать?плз..

Мне б для начала хоть как-н его тупо прикрепить к файлу!

Или если я создам отдельное поле, где буду хранить Имя#Путь, то как мне потом этим воспользоваться?
 
L

lionk

поставь на Веб форму File Upload Control, только если у тя там текст помечен как хтмл, то с елемента сними эту ментку и с нескольких пробелов перед и после File Upload Control, ато глюк.
этот елемент те сам нарисует кнопку диалога и поле
 
W

wowa

lionk , ну да, так работает, вот только потом я скорее всего не засуну(правильно) файлы в конкретное RTF !!!
 
W

wowa

2. Если нужно чтобы эти файлы потом отображались в веб при открытии этого дока, то пишешь агента или js функцию, которая разбирает этот поле (split) и пробегая по всем его элементам автоматически прикрепляет все файлы
Вот выбрал я файл, далее в событии WebQuerySave запускаю агент
Код:
Dim s 				As New NotesSession
Dim db 				As NotesDatabase
Dim doc 			As NotesDocument

Set db = s.CurrentDatabase
Set doc = s.DocumentContext

Dim rtitem 			As NotesRichTextItem
Dim rtitemTMP 		As NotesRichTextItem

Set rtitem = doc.GetFirstItem( "r" )

Set rtitemTMP = doc.CreateRichTextItem("foto")

Call rtitemTMP.EmbedObject( 1454, "", "D:/hills.jpg" )	' ****

Call rtitem.AppendRTItem( rtitemTMP )
Call rtitemTMP.Remove( )
Call doc.Save( True, True )
В Вебе насколько я понял ломается на строке с '****
Объясню что я хотел этим агентом... Чтобы при сохранении документа в Веб, Файл (путь которого прописан вручную) занесся в RTF.
В Вебе это чего -то не работает... Если в ЛОтусе на событие QueryOpen повесить вызов этого агента, то вроде работает нормально
 
L

lionk

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

единственный путь это чтобы пользователь добровольно залил на сервак свой файл (через File Upload Control ну или ещё както) и потом уже ты работая с файлом в рамках сервера зделал с ним чё надо(перезакинул в нужный ртф).
 
W

wowa

помогите, плз, решить вот такую проблему, уже неделю с ней парюсь....

Работаю через Upload Control..
1) выбираю рисунок "Name_1"
2) Сохраняю...
3) Делаю проверку кодом:
Код:
Forall item In doc.Items

If Ucase( item.Name ) = "$FILE" Then
stFileName = item.Values(0)
End If
End Forall
stFileName = "Name_1"
Т.е. ВСЕ Верно
4) Хочу добавить рисунок "Name_2", добавляю
5) Сохраняю
6 ) Делаю проверку тем же кодом, но результат не верный, получается вот какой список имен
Код:
"Name_1"
"Name_1"
Вопрос почему??????
Если сделать второй раз сохранение, то получается все верно:
Код:
"Name_1"
"Name_2"
Подскажите пожалуйста, почему так происходит???
Да, и еще, может проблема в том, что этот код в агенте, а агент вызывается из WebQuerySave, может оно что-то не успевает обновится?
Просто в свойствах дока видно, что там два разных имени, а кодом показывает одно и тоже!!
Подскажите пожалуйста!
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Добавление - удаление файлов в веб. Просто ставим галочки и все. Общий список во вью.
 

Вложения

  • wattach.zip
    53,6 КБ · Просмотры: 156
W

wowa

NetWood, что-то я в Вебе не могу ничего сделать...
Пишет сообщение:
Код:
This Database is not within your data directory and cannot be previewed
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Только из папки DATA открываются файлы на вебе. Что на сервере, что локально.

Нда. :(
А мы тут рюшечки - шашечки рисуем.
 
S

Sandr

NetWood
Еще и в теповых папках системы :(
А ваще - все правильно.. безопасность была бы никакой, будь такая возможность... Тоже када-та маялся с подобным вопросом - анриал...
 
Мы в соцсетях:

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