Как Выгрузить Вложения Rt Поля В Пеерменную В Base64 Кодировке?

seoman2

Lotus team
17.02.2010
473
1
#1
Как выгрузить вложения RT поля в пеерменную в base64 кодировке?
Есть копочка:
в опциях Use "Base64 LS2J"
кнопка
...
Set rtitem = doc.GetFirstItem("ПРИЛОЖЕНИЯ_")
Forall obj In rtitem.EmbeddedObjects
...
Хочу в Text$ получить содержимое obj в base64 кодировке.
Как бы подключить функцию DecodeBase64?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#2
1) выложить файл на диск
2) открыть стримом и декодировать
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 599
277
#4
если объектом явл. файл - парсим дх (там оно уже в base64)
опять - не понятна цель сего действа
 

seoman2

Lotus team
17.02.2010
473
1
#5
Хочу лотус скриптом генерировать XML файл с полем prilojenie с текстом вложения в base64 кодировке.
xml = xml + {<prilojenie>} + Text$ + {</prilojenie>} + Chr(13)
 

seoman2

Lotus team
17.02.2010
473
1
#6
сть документ лотуса, если поле рт в нем вложение *.doc как выгрузить все это в xml?

>> А моя ссылка http://codeby.net/index.php?showtopic=37327 не помогла?
не понятно, как к примеру к кнопке, в которой клик на лотусскрипте работает, подключить:
%INCLUDE "lsxsd.lss"

Чтобы заработало
Dim Base64File As New Xsd_base64binary
....
Call Base64File.Setvaluefromnotesstream(inStream)
 

afest

Well-known member
16.06.2009
78
0
#7
сть документ лотуса, если поле рт в нем вложение *.doc как выгрузить все это в xml?

читал как-то на буржуйском форуме, что у *.docx мона просто заменить расширение на zip и внутри будет сразу готовый xml...
но вот с *.doc можно было бы просто, наверно, конвертнуть в *.docx...
это не совет, просто так для инфы, гарантированность не обещаю
 

Kee_Keekkenen

Well-known member
05.09.2006
639
4
#8
сть документ лотуса, если поле рт в нем вложение *.doc как выгрузить все это в xml?

>> А моя ссылка http://codeby.net/index.php?showtopic=37327 не помогла?
не понятно, как к примеру к кнопке, в которой клик на лотусскрипте работает, подключить:
%INCLUDE "lsxsd.lss"

Чтобы заработало
Dim Base64File As New Xsd_base64binary
....
Call Base64File.Setvaluefromnotesstream(inStream)

пробовал когда-то так конвертировать чтобы файлы в виде base64-стринга по сервису отправлять, не прокатило почему-то.. просто текст конвертировало, а на файлах периодически падало, в итоге использовал mime конвертацию в base64..
 

seoman2

Lotus team
17.02.2010
473
1
#9
Выгрузил файл вложения на винт, потом:
session.ConvertMIME = False
Dim inStream As NotesStream
Call inStream.Open("c:\text\" & oname$, "binary")

Set plainText = doc.CreateMIMEEntity("Вложения")
Call plainText.SetContentFromBytes(inStream, "image/jpeg", ENC_BASE64)

А как потом в Text$ загнать plainText ?
 

seoman2

Lotus team
17.02.2010
473
1
#10
Итог:
%INCLUDE "lsxsd.lss"
Dim Base64File As New Xsd_base64binary
....
Call Base64File.Setvaluefromnotesstream(inStream)

В Base64File в valueasstring содержится текст вложения в base64 кодировке.
Как его извлечь в текстовую переменную? Нигде не нашел.
 
Симпатии: Понравилось Anatoly

Kee_Keekkenen

Well-known member
05.09.2006
639
4
#12
У кого то есть мысли по последнему моему посту?
Код:
dim conv as XSD_DATATYPE_CONVERTER
Dim ses As new NotesSession
Dim stream As NotesStream

set conv = new XSD_DATATYPE_CONVERTER
set stream = ses.createstream
call stream.writetext("qwerty")

msgbox conv.notesStreamToBase64( stream )
 
Симпатии: Понравилось Anatoly