不在Outlook Web中时如何使用officejs保存文件?

不在Outlook Web中时如何使用officejs保存文件?,outlook,office-js,outlook-web-addins,outlook-for-mac,Outlook,Office Js,Outlook Web Addins,Outlook For Mac,我有一个Outlook外接程序,可以识别正在阅读的电子邮件是否有任何附件,并提示用户在需要时对其采取行动。操作操作文件,然后想要保存它。。。用户现在可以查看的地方 在outlookweb()中,我可以触发浏览器下载(chrome、ff和safari),但在outlookformac中这不是一个选项。(我假设windows也是如此。) 我不知道在Outlook for Mac或Windows客户端中如何创建和保存文件 在读取命令表面时,我也无法添加FileAttachmentFromBase64A

我有一个Outlook外接程序,可以识别正在阅读的电子邮件是否有任何附件,并提示用户在需要时对其采取行动。操作操作文件,然后想要保存它。。。用户现在可以查看的地方

在outlookweb()中,我可以触发浏览器下载(chrome、ff和safari),但在outlookformac中这不是一个选项。(我假设windows也是如此。)

我不知道在Outlook for Mac或Windows客户端中如何创建和保存文件


在读取命令表面时,我也无法添加FileAttachmentFromBase64Async()。如果存在的话,我可以附上被操纵的文件。。。然后通过单击它来查看

这可能吗?是否有人想出了从outlook加载项在桌面客户端保存文件的创造性解决方法

编辑:感谢@OutlookAdd insTeam MSFT在下面评论中的帮助,到目前为止,我已经能够以这种方式利用外接程序中的window.open()

openNewWindow(): void {
  const wnd = window.open('data:application/octet-stream;base64,' + base64Image);
  setTimeout(function() {
    wnd.close();
  }, 3000);
}
不过,这同样会在OWA中下载/保存文件,但在Outlook for Mac/Windows中不会。它将打开窗口,但不会保存/下载任何文件

我怀疑这里可能有一个与window.open()和其中一个解决方案相结合的答案


这种桌面客户端限制的一个大问题[除了它不能以我需要的方式交付外接程序外],是我还没有找到一种方法[在外接程序清单中或其他地方]来限制我的外接程序在桌面客户端上可用[目前无法使用].

addfileAttachmentFromBase64Async是一个编写模式API,因为用户无法在读取模式下添加附件。您使用OWA(Outlook web)触发浏览器下载的方法是什么?使用Mac/Windows的相同方法,您会看到什么问题?打开浏览器是否适用于该场景?@OutlookAdd insTeam MSFT,是的,我通常理解为什么addfileAttachmentFromBase64Async仅在撰写模式下可用。我使用javascript在OWA中触发文件下载常量a=document.createElement(“a”);a、 target=“_blank”;a、 href=“data:image/png;base64,”+base64文件;a、 下载=新文件名;a、 单击()```我的印象是任务窗格作为嵌入式safari窗口运行,是吗?(超出此问题的范围)我遇到的另一个问题是,如果任务窗格关闭,Safari Web Inspector将关闭,因此我也无法在任务窗格初始化期间检查任何控制台。我还没有在safari上尝试我的OWA插件。。。现在我已经做了。我已经确认了在Safari中的OWA中的Add in Works.为了调试,请参阅这里的选项,您可以考虑在单击按钮后将下载代码放入触发器,以便在初始化之后给您一个附加的机会。