A
ankass
Хотим передавать файл в формате Base64 (например для Web-сервисов)
Для этого:
1) Call inStream.Open("c:\In.doc", "binary")
'------- кодируем поток в Base64
Call Base64File.Setvaluefromnotesstream(inStream)
2) '------- раскодируем Base64 обратно в поток
Set promStream=Base64File.Getvalueasnotesstream()
В результате:
- при открытии файла видим окошко с кодировкой (Out.jpg)
- отладчике видим несоответствие размеров исходного и полученного потока (Debugger.jpg)
Подскажите пожалуйста что нужно сделать, чтобы заработало ))
Sub Initialize()
Dim ss As New NotesSession
Dim inStream As NotesStream
Dim outStream As NotesStream
Dim promStream As NotesStream
Dim buffer As Variant
Dim Base64File As New Xsd_base64binary
Set inStream=ss.Createstream()
Set outStream=ss.Createstream()
Set promStream=ss.Createstream()
Call inStream.Open("c:\In.doc", "binary")
'------- кодируем поток в Base64
Call Base64File.Setvaluefromnotesstream(inStream)
'------- раскодируем Base64 обратно в поток
Set promStream=Base64File.Getvalueasnotesstream()
promStream.Position=0
Call outStream.Open("c:\Out.doc", "binary")
do
buffer=promStream.Read(32767)
Call outStream.Write(buffer)
Loop Until inStream.IsEOS
Call inStream.Close()
Call outStream.Close()
Call promStream.Close()
End Sub
Для этого:
1) Call inStream.Open("c:\In.doc", "binary")
'------- кодируем поток в Base64
Call Base64File.Setvaluefromnotesstream(inStream)
2) '------- раскодируем Base64 обратно в поток
Set promStream=Base64File.Getvalueasnotesstream()
В результате:
- при открытии файла видим окошко с кодировкой (Out.jpg)
- отладчике видим несоответствие размеров исходного и полученного потока (Debugger.jpg)
Подскажите пожалуйста что нужно сделать, чтобы заработало ))
Sub Initialize()
Dim ss As New NotesSession
Dim inStream As NotesStream
Dim outStream As NotesStream
Dim promStream As NotesStream
Dim buffer As Variant
Dim Base64File As New Xsd_base64binary
Set inStream=ss.Createstream()
Set outStream=ss.Createstream()
Set promStream=ss.Createstream()
Call inStream.Open("c:\In.doc", "binary")
'------- кодируем поток в Base64
Call Base64File.Setvaluefromnotesstream(inStream)
'------- раскодируем Base64 обратно в поток
Set promStream=Base64File.Getvalueasnotesstream()
promStream.Position=0
Call outStream.Open("c:\Out.doc", "binary")
do
buffer=promStream.Read(32767)
Call outStream.Write(buffer)
Loop Until inStream.IsEOS
Call inStream.Close()
Call outStream.Close()
Call promStream.Close()
End Sub