Добавление аттачментов в документ

lionk

Well-Known Member
05.04.2007
310
3
#1
Тема обсуждалась много раз и почти везде,
но немогу удержатся и пофлужу немного (простите админы :) )

Задача:
дуальная база (открывается с веба и с клиента),
одно из функциональных назначений сбор документов(вордовский файлик),
транспортировка (соданый док с вложением видят два чела, адресат и адресант, находящиеся в разных точках города)

понятно что работа с аттачментами должна быть комфортной.

формы веб и клиентские должны быть максимально схожи, а как известно в вебе файл аттачится через fileupload а в клиенте разными методами (собаками или лотусскрипт) в RichText поле.
и документ созаный в вебе с атачем в клиенте открывается с добавлением горизонтальной полоски под которой и лежит файлик атачмент.
скреативлений в лотусе документик с атачем в вебе можно считать только если сгенерить сылку (а её непонятно как генерить бо неизвестно де лежит файлик, хотя логику придумать можно)
можно ещё конечно пререраспредилять атачмент после сохранения дока в вебе и ложить его в ричтекс, но я-дмин, себе-програмеру запретил это метод так как он требует промежуточной записи файлика на серваке что непозволительно с ракурся информационной безопастности.

праскинув мозгами, с помошю привязаной к голове гранаты я зделал такое
с веба файл аплодится стандартно через fileupload, после сохранения док переоткрывается и сылку на атачмент формирую
Код:
out:="";
att:=@AttachmentNames;
@For(n := 1;n <=@Attachments;n := n + 1;
out:=out+"<a href=\"/"+@WebDbName+"/0/" +@Text(@DocumentUniqueID)+"/$file/"+att[n]+"\" class=\"date\" target=\"_blank\">"+att[n]+"</a>");
@If(@IsNewDoc;"";out)
появившуюся внизу картинку атачмента скрываю <div style="visibility: hidden;font-size: 0px;" id="xxx">

в лотусе же файл добавляю
Код:
Dim ws As New NotesUIWorkspace 
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Dim filename As Variant 
Set rtitem = New NotesRichTextItem( doc, "$file" )
filename = ws.OpenFileDialog(False, "Оберіть документ",, "")
If Not(Isempty(filename)) Then
Set object = rtitem.EmbedObject 	( EMBED_ATTACHMENT, "", filename(0))
Call Doc.ReplaceItemValue ("attname",filename(0))
End If
и он после переоткрытия в клиенте (кстати это можно както побороть) отображаетс я снизу документа как атач который можно удалить сохранить посмотреть, и онже открывается в вебе со всем удобством.

что прикольно после переоткрытися $file появляется в двух видах как ричтекс и как атачмент, а при обращении всегда отдаёт файл(аттачмент)

вот такой флуд...
 
S

Sandr

Гость
#2
Чет я не понял, а вчем вопрос? Или это был пример?