【问题标题】:outlook attachment to base64 on the fly c#即时附加到base64的outlook c#
【发布时间】:2017-10-12 15:05:24
【问题描述】:

我一直在尝试在 C# 中创建一个 Outlook 插件。 我想要做的是获取附件并将​​其转换为 base64 以便将其发送到我的服务器。 我想不出办法来做到这一点。唯一的解决方法似乎是,保存文件,读取它,将其转为base64并删除它,这似乎非常浪费。

这就是我现在正在做的事情。

            for (int j = 1; j <= email.Attachments.Count; j++)
            {

                json = "{ 
                       " \"Mail_Attachment_BLOB\" :\" " + email.Attachments[j]  "\" }";

                SendToApi("Attachment", json);

            }

有什么想法吗?

【问题讨论】:

    标签: c# outlook base64 attachment


    【解决方案1】:

    如果您尝试访问附件内容而不将附件另存为文件,Outlook 对象模型将无济于事。您可以使用扩展 MAPI(仅限 C++ 或 Delphi)并将附件数据作为流打开 (IAttach::OpenProperty(PR_ATTACH_DATA_BIN, IID_IStream, ...)) 或使用 Redemption - 其附件对象公开 AsTextAsArray 等属性。

      set Session = CreateObject("Redemption.RDOSession")
      Session.MAPIOBJECT = Application.Session.MAPIOBJECT
      set item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
      for each attach in item.Attachments
        MsgBox attach.AsText
      next
    

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2012-02-26
      相关资源
      最近更新 更多