我无法在Outlook中添加多个内嵌图像

时间:2017-10-19 11:26:56

标签: office-js outlook-web-addins

我想用office.js将多个图像添加到我的邮件正文中。

我使用以下代码:

Office.context.mailbox.item.addFileAttachmentAsync(uri,
            assetName,
            { isInline: true },
            function (asyncResult) { //resolvepromise });

(在我多次调用之后,我在我的邮件正文中插入了带有cids的正确html)

如果我不使用isInline,图片将全部添加到我的邮件正文中,但它们会显示在附件栏中。

如果我确实只使用了isInline我邮件正文中插入的所有图像中的一个(其他图像是角落里有红叉的白色方块)。

我还尝试在添加每个附件后调用Office.context.mailbox.item.saveAsync,但这也无济于事。

任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:0)

为什么您不使用' setAsync' 功能将图像插入到正文中而不使用此 addFileAttachmentAsync & #39 ;?这种方式更简单。

 var htmlContent='<img src=".."><img src="..">';
 Office.context.mailbox.item.body.setAsync(
                                     htmlContent,
                                    {coercionType: Office.CoercionType.Html },
                                    function (asyncResult) { });

答案 1 :(得分:0)

Office.context.mailbox.item.addFileAttachmentAsync(
"https://i.imgur.com/tH8sYNt.png",
"test3.png", 
{asyncContext: null, isInline: true},  
function (asyncResult)  {
        Office.context.mailbox.item.body.setSelectedDataAsync( 
                    "<img src='cid:test3.png'>", 
                    { coercionType: Office.CoercionType.Html,
                         asyncContext: null });
}

以上代码对我有用。在Outlook 2016 C2R上,如果代码不起作用,您能否在代码中提供一些示例输入?即你正在做什么来设置身体?还在您的客户端上提供一些版本信息。 (Desktop Outlook 2016?2013?OWA?特定版本号)