首页 > 解决方案 > Lotusscript:将文件从电子邮件转换为 base64 以 POST 方法发送

问题描述

我正在寻找一种通过 POST 方法将文件发送到服务器的方法。但首先我想将我的文件转换为 base64 以便我可以轻松地发送它们。只是,我在互联网上找不到任何解决方案。我什至不确定这样做是否是个好主意。

我尝试了几种方法,包括直接从附件转换或将它们保存在本地并检索它们,但没有任何效果。

这是我的代码:

pathname = "C:\temp"
Set db = Session.Currentdatabase
    Set CurrentDocColl = db.Unprocesseddocuments
    Set doc = CurrentDocColl.Getfirstdocument
    While Not doc Is Nothing
        Set item = doc.GETFIRSTITEM("Body")
        If doc.HasEmbedded Then
            ForAll attachment In item.EmbeddedObjects
                Call attachment.ExtractFile (pathname & "\" & attachment.Name)
                Set stream = session.Createstream()
                stream.Open pathname & "\" & attachment.Name, "binary"

                'I want retrieve the file in base64 here
                data = 'file in base64

                Set http=session.CreateHTTPRequest()
                http.preferstrings = True
                http.Post(url, data) 

            End ForAll
        End If
        Set doc=CurrentDocColl.Getnextdocument(doc)
    Wend

此代码可以在我的代理中找到,该代理负责检索当前电子邮件中存在的信息。

有谁知道如何做到这一点?或者另一种方法来做同样的事情?

标签: lotus-noteslotus-dominolotusscript

解决方案


您可以在 Julian Robicaux 的旧 NSFTools 网站上找到一些在 LotusScript 中处理 base64 数据的有用函数: https ://www.nsftools.com/tips/Base64v14.lss


推荐阅读