获取附件的文件内容

时间:2015-06-27 15:23:57

标签: vba mandrill

我正在尝试使用cURL从VBA向Mandrill /api/1.0/messages/send.json发送电子邮件。 发送没有附件的简单电子邮件我没有任何问题。 当我尝试发送附件(base64文件内容)时,问题就开始了。

我将VBA生成的文件内容和编码字符串与PHP进行了比较,它们是不同的。 PHP一个正常工作。 这是我获取内容然后将其编码为base64的实现。

Function readFile(path as String) as String
    Dim oFSO As Object
    Dim oFS As Object, sText As String

    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFS = oFSO.OpenTextFile(path)

    Do Until oFS.AtEndOfStream
        sText = oFS.ReadAll()
    Loop

    readFile = sText

    Set oFSO = Nothing
    Set oFS = Nothing
End Function 

Function encodeBase64(text As String) As String
    Dim arrData() As Byte
    arrData = StrConv(text, vbFromUnicode)

    Dim objXML As MSXML2.DOMDocument
    Dim objNode As MSXML2.IXMLDOMElement

    Set objXML = New MSXML2.DOMDocument
    Set objNode = objXML.createElement("b64")

    objNode.Datatype = "bin.base64"
    objNode.nodeTypedValue = arrData
    encodeBase64 = Replace(objNode.text, vbLf, "")

    Set objNode = Nothing
    Set objXML = Nothing
End Function

我正在尝试加载MS Word和PDF的内容。

0 个答案:

没有答案